Java基本操作符:+、-、*、/、%、=、==、!=、+=、-=。
优先级:先乘除后加减,如果是连接符+号会优先往前匹配,比如 a+++++b,会被解释称 a++ ++ +b,所以会报错,需要自行使用括号隔离为 (a++) + (++b)。
对象的引用如果赋值给了对象的引用后,2 个对象将指向同一个引用,有一个对象的引用重新赋值后将同时影响到另一个对象,比如
ClassName classA = new ClassName();
ClassName classB = new ClassName();
classA = ClassB;
classA.x = xxx;
那么 classB.x 也为 xxx。
关系操作符:<、>、<=、>=、==、!=、equals()。
equals() 主要用来比较对象的内容,而非对象的引用(如果比较的话,结果总是false)。
逻辑操作符:&&、||、!。
运算短路:如果逻辑操作符 && 在连接多个判断条件时,有一个条件不符则结果直接为不符,如果符合则必须判断所有条件均符合。
直接常量:
前(后)缀 | 意义 |
L | long |
F | float |
D | double |
0x(0X) | 十六进制 |
0(0~7) | 八进制 |
指数计数法:e 表示 10 的幂次。
按位运算符:
运算符 | 意义 |
与(&) | 两个操作数中位都为 1,结果才为 1,否则结果为 0 |
或(|) | 两个位只要有一个为 1,那么结果就是 1,否则就为 0 |
异或(^) | 两个操作数的位中,相同则结果为 0,不同则结果为 1 |
非(~) | 如果位为 0,结果是 1,如果位为 1,结果是 0 |
移位运算符:左移位运算符(<<)、右移位运算符(>>)、无符号右移位操作符(>>>)。
操作符重载:+、+=。
类型转换操作符:
扩展转换 (int->float) 可以不显性写明转换类型,窄化转换(float->int)必须要写明强制转换的类型,以表明预期;
强制类型转换时不执行四舍五入的原则,而总是把尾部截断;
可以使用 Math.round(xxx) 来实现四舍五入的效果;
当"大"类型和"小"类型一起使用时,程序会默认往"大"类型进行统一,比如 int 和 long 相加,结果是 long。
Java 所有数据类型在所有机器存储的大小是一样的(见 Java学习笔记2),所以不需要 sizeof() 进行计算。
本文作者: sylan215
本文地址: http://www.sylan215.com/
版权声明: 本文首发于公众号「sylan215」,可以随意转载,但必须在明确位置注明出处!