记录一下好的描述以及不知道的问题(会附带书中页码)
- 注意45页的标记
- 3.10和3.11在计算机组成原理时再看
- 操作符重载(参考百度百科):https://baike.baidu.com/item/%E6%93%8D%E4%BD%9C%E7%AC%A6%E9%87%8D%E8%BD%BD/5597644?fr=aladdin
- 字符序列:就是指字符串,翻译成序列更多的是为了表示其在计算机中存储的特点。
- 注意第六点!!
- (P38)在最底层,java中的数据是通过操作符来操作的。
- (P40)对一个对象进行操作时,我们真正操作的是对对象的引用。所以倘若“将一个对象赋值给另一个对象”,实际是将“引用”从一个地方复制到另一个地方。这意味着假若对对象使用c=d,那么c和d都指向原本只有d指向的那个对象
- (P44) == 与 != 比较的都是对象的引用
eg: 如果判断n1==n2**,结果为**false****
Integer n1= new Integer(47);
Integer n2= new Integer(47);
如果要比较对象的实际内容,使用equals()方法
注: 此方法不适合于“基本数据类型”。基本类型直接使用==和!=比较即可
- 请记住,编译器会把双引号内的字符序列自动转成字符串。
- (P55)"布尔类型"禁止进行任何类型的转换处理(窄化转化 && 扩展转化)
- (P54) java不会自动地将int型转换成布尔型、
while(x =y){
//…
}
在c和c++中,如果y是非零值,那么这种赋值的结果肯定是true,而这样便会得到一个无穷循环。
在java中,由于java不会自动地将int型转换成布尔型,所以在编译时会抛出一个编译时异常,从而阻止运行程序。所以这种错误在java运行时中永远不会出现(唯一不会得到编译时错误的情况是x和y都为布尔值)