irpas技术客

03.运算符_比特 fly

未知 5749

运算符 1.算术运算符1.基本四则运算符(+ - * / %)2.增量运算符(+= -= *= %=)3.自增自减运算符( ++ --) 2.关系运算符3.逻辑运算符(重点)1.逻辑运算符主要有三个:&& || !2.& 和 | 做逻辑运算符时的特点 4.位运算符5.移位运算符6.条件运算符7.运算符的优先级

1.算术运算符 1.基本四则运算符(+ - * / %)

注意:

%运算符也可以对小数取模,但是在实际中没有意义 System.out.println(11.5%2.0); 做除法和取模运算时,右操作数不能位0; 2.增量运算符(+= -= *= %=)

第一个程序报错,而第二个程序不报错的原因:

在第一个程序中,b = b + a; ==> short = short +int; ==>short = int + int; 因此编译错误;

在第二个程序中,运用了增量运算符 +=,增量运算符会自动将结果强转,因此编译成功

3.自增自减运算符( ++ --)

2.关系运算符

关系运算符有:

== != " > " " < " " >= " " <= "

注意:

在Java当中,不能连着写判断条件,比如:3 < a < 5关系运算符的运算结果均为 true 和 false 3.逻辑运算符(重点) 1.逻辑运算符主要有三个:&& || !

特点:

运算结果均为boolean类型&& 和 || 遵守短路求值的规则 System.out.println(10 > 20 && 10 / 0 == 0); // 打印 false System.out.println(10 < 20 || 10 / 0 == 0); // 打印 true 2.& 和 | 做逻辑运算符时的特点

& 和 | 做逻辑运算符时,不支持短路求值的特点

4.位运算符

位运算符有:

按位与 &: 如果两个二进制位都是 1, 则结果为 1, 否则结果为 0. 按位或 |: 如果两个二进制位都是 0, 则结果为 0, 否则结果为 1 按位取反 ~: 如果该位为 0 则转为 1, 如果该位为 1 则转为 0 按位异或 ^: 如果两个数字的二进制位相同, 则结果为 0, 相异则结果为 1

5.移位运算符

移位运算符有:

左移 <<: 最左侧位不要了, 最右侧补 0.右移 >>: 最右侧位不要了, 最左侧补符号位(正数补0, 负数补1)无符号右移 >>>: 最右侧位不要了, 最左侧补 0

注意:负数的右移跟除法有一定的区别,它会向上取负数的整,比如:-3>>1 = -2

6.条件运算符

条件运算符只有一个:

表达式1 ? 表达式2 : 表达式3

// 求两个整数的最大值 int a = 10; int b = 20; int max = a > b ? a : b; 7.运算符的优先级

注意:运算符之间是有优先级的. 具体的规则我们不必记忆. 在可能存在歧义的代码中加上括号即可.


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #03运算符