《Java编程思想》学习笔记【三】
唔,打字真麻烦,随便写一些认为需要的。
基本类型存储了实际的数值,而不是指向一个对象的引用,所以赋值是直接将一个地方的内容复制到另一个地方
。
而对一个对象进行操作时,我们真正操作的是对象的引用
。
所以将一个对象赋值给另一个对象,实际上是将引用
从一个地方复制到另一个地方。
将t2赋给t1,接着修改了t1。
由于此时赋值操作的是一个对象的引用
,所以修改t1的同时也改变了t2。t1,t2指向相同的对象。
对于前缀递增和前缀递减(如++a
和--a
),会先执行运算,再生成值。
对于后缀递增和后缀递减(如a++
和a--
),会先生成值,再执行运算。
==
和!=
比较的是对象的引用。
如果想比较两个对象的实际内容是否相同,可以考虑用equals()
方法,但这个方法不适用于基本类型,基本类型直接用==
和!=
【equals()
方法默认行为是比较引用】
当使用逻辑操作符时,我们会遇上"短路"现象,即一旦能够准确无误确定整个表达式的值,就不再计算表达式余下部分。
移位操作符只可用来处理整数类型。
左移操作符<<
能够按照操作符右侧指定的位数 将操作符左侧的操作数向左移动
(在低位补0)
同理,
右移操作符>>
能够按照操作符右侧指定的位数 将操作符左侧的操作数向右移动
“有符号”右移操作符:若符号为正,则在高位插入0;若符号为负,则在高位插入1
Java不需要sizeof(),因为所有数据类型在所有机器中的大小都是相同的。