Head First Java

变量类型

变量类型有两种:一种是清凉的 primitive 主数据类型,一种是香辣的对象引用。
变量必须拥有类型,另一条规则是必须要有名称。

变量装载

编译器不允许将大杯的内容放到小杯中,但反过来呢?可以。

引用变量有多大?

不知道,除非你跟某个 Java 虚拟机开发团队的人有交情,不然你是不会知道饮用是如何表示的。其内部有指针,但你无法也不需要存取。若你是要讨论内存分配的问题时,最需要关心的应该是需要建立多少个对象和引用,以及对象的实际大小。

是否意味着所有的对象引用都具有相同的大小,而不管它实际上所引用的对象大小?

是的,对于任意一个 Java 虚拟机来说,所有的引用大小都一样,但不同的 Java 虚拟机间可能会以不同的方式来表示引用。

可以对引用变量进行运算吗,就像 C 语言那样?

不行。请跟我重复念一万遍:“Java 不是 C”。

对象引用

HeadFirst:在运行期间能控制不同的对象吗?像是引用到狗对象的 5 分钟后又去引用皮卡丘对象?
Reference:当然不是啦,被声明成什么我就是什么。如果我是个 Dog 遥控器,就不能指向……_啊,对不起,我是说引用到 Dog 以外的事物。
HeadFirst:你是说你只能引用单一的 Dog ?
Reference:错了,我可以引用某个 Dog,5 分钟后又去引用另外一个 Dog。只要是 Dog 就行,因为我可以被转换,就像重新设定遥控器一样。除非……算了。
HeadFirst:说呀,勇敢地说出来
Reference:说完天都亮了……先简单说一下好了,如果我被标记成 final 的话,一旦被指派给某个 Dog 之后我就不能赋值给这个特定 Dog 之外的任何事物。也就是说被固定下来了。

重复

Java 有 3 种循环结构:while 循环、do-while 循环、for 循环。

Java 中可以用 integer 类型作为 while 的条件判断吗?

不行,Java 中的 integer 与 boolean 两种类型并不相容。你只能用下面这样的 boolean 变量来测试。

你可能感兴趣的:(Head First Java)