java编程思想——第3,4章 操作符&控制流程

1,==和equals()的区别

    引用类型==比较的是对象的引用而不是对象的值,equals()比较的是对象的值而不是对象的引用。但是equals()的默认行为是比较引用。所以除非在自己的新类中覆盖equals()方法,否则仍是比较引用。覆盖将在后序章节介绍。

2,如果在程序里使用了“直接常量”,编译器可以准确地知道要生成什么样的类型,但有的时候却是模棱两可的。如果发生这种情况,必须对编译器加以适当的“指导”。float f1 = 1f;

大小写L代表long,大小写D代表double,大小写L代表long。

0x开头代表16进行;0开头代表8进制。

3,在位操作符中,~是一元操作符,不可以与“=”联合使用。

4,<< 左移,右边补0,>>右移,左边补符号位的数。java引入了一种“无符号”右移操作符>>>,它使用“零扩展”:无论正负,都在高位插入0。

5,对char、byte、short类型的数值进行移位处理,在移位前,它们会被转换成int。

6,java编译器不对将int数值转成布尔值。它不允许我们随便把一个类型当做另一种类型使用。

7,java中没有sizeof运算符,这是因为java中所有数据类型在所有机器上的大小是相同的,不必考虑移植问题。c/c++中有sizeof的主要目的是需要考虑到移植,一台计算机可能用32位保存整数,另一台机器可能是16位。

8,foreach语法,和C++11中的范围for一样。

9,注意switch的穿透执行。

猜你喜欢

转载自blog.csdn.net/xiaoan08133192/article/details/108332190