
本文共 1364 字,大约阅读时间需要 4 分钟。
- 运算符
2.1 算术运算符
Java中的算术运算符包括加、减、乘、除、取模等基本运算符。需要注意的是,Java中的除法运算符 '/' 在处理整数时可能会返回整数结果,但如果结果不是整数(如1/2),则需要使用浮点数类型(double)来进行计算。此外,除数不能为0。
取余运算符 '%' 不仅可以用于整数,也可以用于浮点数。例如,19 % 3 等于 1,而 19.5 % 3 等于 1.5。
增量赋值运算符包括 +=、-=、/=、%=。这些运算符可以用于将运算结果赋值给变量,简化代码书写。
自增/自减运算符包括 ++ 和 --。前者可以用于在表达式末尾增加1,后者可以用于在表达式末尾减少1。需要注意的是,自增/自减运算符可以用于变量的前缀或后缀形式。
2.2 关系运算符
Java中的关系运算符包括等于(==)、不等于(!=)、小于(<)、大于(>)、小于等于(<=)、大于等于(>=)。这些运算符用于比较两个值的关系,返回值类型均为boolean。
2.3 逻辑运算符
Java中的逻辑运算符包括与(&)、或(|)、非(!)。与运算符(&& 和 &) 运算结果为true,只有当两个操作数都为true时才返回true。或运算符(||)则只要有一个操作数为true,整个表达式就返回true。非运算符(!)用于将boolean值取反。
需要注意的是,非运算符只能作用于boolean类型的表达式。例如:
int a = 10;int b = 2;System.out.println(!a == b); // 输出为false,因为10 != 2
2.4 位运算符
Java中的位运算符包括与(&)、或(|)、异或(^)和非(~)。这些运算符对应于二进制位的运算。与运算符(&)会将对应位上的值相乘:如果两个位都为1,则结果为1;否则结果为0。或运算符(|)则会将对应位上的值取或:如果至少有一个位为1,则结果为1。非运算符(~)会将所有位取反,0变为1,1变为0。异或运算符(^)会将对应位上的值相异或:如果两个位不同,则结果为1;相同则结果为0。
需要注意的是,Java中的位运算是基于二进制位的。左移(<<)和右移(>>)运算是按位进行的。左移运算会将左移的位补充0,右移运算会将右移的位补充0或1(取决于是正数还是负数)。
2.5 移位运算符
左移运算符(<<):左移1位相当于乘以2,左移N位相当于乘以2的N次方。
右移运算符(>>):右移1位相当于除以2,右移N位相当于除以2的N次方。需要注意的是,右移运算符对于正数来说会补充0,但对于负数来说会补充1。
无符号右移运算符(>>>):右移1位相当于除以2,右移N位相当于除以2的N次方。无符号右移运算符会将移位后的数值补充0,不会改变数值的符号。
移位运算符在性能上比乘除运算更高效,因此在代码中可以优先使用移位运算符来代替乘除运算(只要乘除运算的结果是2的幂次)。
2.6 条件运算符
条件运算符(ternary operator)可以使用以下格式进行表达:
expression1 ? expression2 : expression3
当expression1的值为true时,表达式的值将取自expression2;否则,将取自expression3。
发表评论
最新留言
关于作者
