课程咨询 :13623629309

太原PHP培训 > 达内新闻 > 计算机程序的思维逻辑 (2) :赋值--下
  • 计算机程序的思维逻辑 (2) :赋值--下

    发布:太原PHP培训      来源:伯乐在线      时间:2016-08-02

  • 赋值

    一些说明

    上面介绍的赋值都是直接给变量设置一个常量值。但也可以把变量赋给变量,例如:

    太原达内php培训

    变量可以进行各种运算(后续文章讲解),也可以将变量的运算结果赋给变量,例如:

    太原达内php培训机构

    上面介绍的赋值都是在声明变量的时候就进行了赋值,但这不是必须的,可以先声明变量,随后再进行赋值。

    数组类型

    赋值语法

    基本类型的数组有三种赋值形式,如下所示:

    太原php培训

    第一种和第二种都是预先知道数组的内容,而第三种是先分配长度,然后再给每个元素赋值。

    第三种形式中,即使没有给每个元素赋值,每个元素也都有一个默认值,这个默认值跟数组类型有关。数值类型的值为0,boolean为false, char为空字符。

    数组长度可以动态确定,如下所示:

    太原php

    虽然可以动态确定,但定了之后就不可以变,数组有一个length属性,但只能读,不能改。

    一个小细节,不能在给定初始值的同时还给定长度,即如下格式是不允许的:

    太原达内php培训

    这是可以理解的,因为初始值已经决定了长度,再给个长度,如果还不一致,计算机将无所适从。

    数组和基本类型的区别

    一个基本类型变量,内存中只会有一块对应的内存空间。但数组有两块,一块用于存储数组内容本身,另一块用于存储内容的位置。

    用一个例子来说明,有一个int变量a,和一个int数组变量arr,其代码,变量对应的内存地址和内存内容如下所示:

    太原php培训班

    基本类型a的内存地址是1000,这个位置存储的就是它的值100。

    数组类型arr的内存地址是2000,这个位置存储的值是一个位置3000,3000开始的位置存储的才是实际的数据1,2,3。

    为什么数组要用两块空间

    不能只用一块空间吗?我们来看下面这个代码:

    太原达内php

    这个代码中,arrA初始的长度是3,arrB的长度是4,后来将arrB的值赋给了arrA。如果arrA对应的内存空间是直接存储的数组内容,那么它将没有足够的空间去容纳arrB的所有元素。

    用两块空间存储,这个就简单的多,arrA存储的值就变成了和arrB的一样,存储的都是数组内容{4,5,6,7}的地址,此后访问arrA就和arrB是一样的了,而arrA {1,2,3}的内存空间由于无人引用会被垃圾回收,如下所示:

    太原达内php

    由上,也可以看出,给数组变量赋值和给数组中元素赋值是两回事。给数组中元素赋值是改变数组内容,而给数组变量赋值则会让变量指向一个不同的位置。

    上面我们说数组的长度是不可以变的,不可变指的是数组的内容空间,一经分配,长度就不能再变了,但是可以改变数组变量的值,让它指向一个长度不同的空间,就像上例中arrA后来指向了arrB一样。

    小结

    给变量赋值就是将变量对应的内存空间设置为一个明确的值,有了值之后,变量可以被加载到CPU,CPU可以对这些值进行各种运算,运算后的结果又可以被赋值给变量,保存到内存中。

    数据可以进行哪些运算?如何进行运算呢?

    达内时代科技集团致力于培养面向电信和金融领域JavaC++C#/.Net3G/Android3G/IOSPHP、嵌入式、软件测试、UID、网络营销、网络工程、会计、UEDwebUnity3D、大数据、童程童美等17大方向中高端软件人才课程与少儿教育课程。选择太原达内培训,不再孤军奋战,轻轻松松做IT高薪白领。太原达内培训带领有明确目标的学子迈向成功之路!想找工作的求职者可以加QQ3373924515(太原达内就业服务部)咨询了解。

上一篇:计算机程序的思维逻辑 (2) :赋值--上

下一篇:太原php培训:20个为前端开发者准备的文档和指南--(1)

最新开班日期  |  更多

php高级开发名企定制班(剩2个名额)

php高级开发名企定制班(剩2个名额)

开班日期:12-29

php高级开发周末班(剩5个名额)

php高级开发周末班(剩5个名额)

开班日期:12-29

php高级开发免费试听(剩5个名额)

php高级开发免费试听(剩5个名额)

开班日期:12-29

更多高级开发工程师精品班

更多高级开发工程师精品班

开班日期:12-29

  • 地址:山西省太原市小店区学府街长治路高新国际A座24层
  • 课程培训电话:13623629309     全国服务监督电话:400-827-0010
  • 服务邮箱 ts@tedu.cn
  • 2001-2016 达内国际公司(TARENA INTERNATIONAL,INC.) 版权所有 京ICP证08000853号-56