首页 > 代码库 > Java学习笔记3-操作符

Java学习笔记3-操作符


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)。


逻辑操作符:&&、||、!。

运算短路:如果逻辑操作符 && 在连接多个判断条件时,有一个条件不符则结果直接为不符,如果符合则必须判断所有条件均符合。


直接常量:

前(后)缀意义
Llong
Ffloat
Ddouble
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() 进行计算。



长按关注「我在编程」

技术分享

多看 | 多想 | 多练

不积跬步无以至千里



本文出自 “我在编程” 博客,请务必保留此出处http://sylan215.blog.51cto.com/681991/1923856

Java学习笔记3-操作符