栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java3.0——运算符

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java3.0——运算符

目录

一,算术运算符

1.基本四则运算符+   -   *   /

2.增量运算符 +=   -=  *=  %=

3.自增/自减运算符  ++   --

二,6个关系运算符 ==  !=  <  >  <=  >= 

三,逻辑运算符 &&   ||   !

四,位运算符  &  ^

五,移位运算  <<  >>  >>>

六,条件运算符(表达式1?表达式2:表达式3 )

七,运算符的优先级

一,算术运算符

1.基本四则运算符+   -   *   /

%:求余数

-:减

*:乘

/:除

【注意】

1.都是二元运算符,使用时必须要有左右两个操作数,答案会向大的方向提升
2.int / int 结果还是int类型,而且会向下取整                                                                                      3.除数(分母)不能为0,会报错 算数异常 ArithmeticException Creat breakpoint:/by zero             4.double 类型也可以取余数%,结果为double类型(11.5%2.0==1.5)                                                

求余注意

10%3//1
10%-3//1
-10%3//-1
-10%-3//-1

2.增量运算符 +=   -=  *=  %=
int a = 1;
a += 2;          // 相当于 a = a + 2
System.out.println(a);  // 输出3


a -= 1;          // 相当于 a = a - 1
System.out.println(a);  // 输出2


a *= 3;          // 相当于 a = a * 3
System.out.println(a);  // 输出6


a /= 3;          // 相当于 a = a / 3
System.out.println(a);  // 输出2



a %= 3;          // 相当于 a = a % 2
System.out.println(a);  // 输出2

【注意】

1.只有变量才使用

3.自增/自减运算符  ++   --

++是给变量的值+1,--是给变量的值-1

int a = 1;
a++;   // 后置++  表示给a的值加1,此时a的值为2


System.out.println(a++);  
// 注意:后置++是先使用变量原来值,表示式结束时给变量+1,因此输出2


System.out.println(a);   // 输出3
++a;   // 前置++  表示给a的值加1


System.out.println(++a);  
// 注意:前置++是先给变量+1,然后使用变量中的值,因此输出5


System.out.println(a);   // 输出5
// --操作符给操作-1,与++含义类似

【注意】

1.如果单独使用,【前置++】和【后置++】没有任何区别
2.如果混合使用,【前置++】先+1,然后使用变量+1之后的值,【后置++】先使用变量原来的值,表达式结束时给变量+1
3.只有变量才能使用自增/自减运算符,常量不能使用,因为常量不允许被修改

二,6个关系运算符 ==  !=  <  >  <=  >= 

计算结果是 true 或者 false 

int a = 10;
int b = 20;
// 注意:在Java中 = 表示赋值,要与数学中的含义区分
//   在Java中 == 表示相等
System.out.println(a == b);    // false
System.out.println(a != b);    // true
System.out.println(a < b);     // true
System.out.println(a > b);     // false
System.out.println(a <= b);    // true
System.out.println(a >= b);    // false

【注意】

1.当需要多次判断时,不能连着写,比如:3 < a < 5

三,逻辑运算符 &&   ||   !

1.&& 逻辑与

布尔表达式1&&布尔表达式2   都为真时才为真

当表达式1为假时,表达式2便不再执行

2.|| 逻辑或

布尔表达式1||布尔表达式2  其一为真便为真

当表达式1为真时,表达式2便不再执行

3.!逻辑非

int a = 1;
System.out.println(!(a == 1));  // a == 1 为true,取个非就是false
System.out.println(!(a != 1));  // a != 1 为false,取个非就是true

四,位运算符  &  ^

都要先转换成二进制

1.& 按位与: 如果两个二进制位都是 1, 则结果为 1, 否则结果为 0

0 0 0 0 1 0 1 0

0 0 0 1 0 1 0 0

0 0 0 0 0 0 0 0

2.^ 按位亦或 :如果两个数字的二进制位相同, 则结果为 0, 相异则结果为 1.

0 0 0 0 1 0 1 0

0 0 0 1 0 1 0 0

0 0 0 1 1 1 1 0

【注意】如果两个数相同,则异或的结果为0

3.| 按位或 : 如果两个二进制位都是 0, 则结果为 0, 否则结果为 1

0 0 0 0 1 0 1 0

0 0 0 1 0 1 0 0

0 0 0 1 1 1 1 0

【注意】 当 & 和 | 的操作数为整数(int, short, long, byte) 的时候, 表示按位运算, 当操作数为 boolean 的时候, 表示逻辑运算.

4.~ 按位取反 :如果该位为 0 则转为 1, 如果该位为 1 则转为 0

0 0 0 0 1 0 1 0

1 1 1 1 0 1 0 1

【注意】

1.  0x 前缀的数字为 十六进制 数字. 十六进制可以看成是二进制的简化表示方式. 一个十六进制数字对应 4个二进制位.
2.  0xf 表示 10 进制的 15, 也就是二进制的 1111
3.  printf 能够格式化输出内容, %x 表示按照十六进制输出.


五,移位运算  <<  >>  >>>

1.  <<  左移(相当于*2)

11<<1

0000 1011 往前移动一位

0001 0110 ——22

2.>>  右移(相当于/2)

11>>1

0000 1011往后移动一位

0000 0101——5

3.>>>无符号右移(删除最右侧,不管符号位是1 ,0,最左侧统统补0)

-1:1111 1111 >>> 0111 1111

【注意】没有无符号左移,因为左边没有符号位

六,条件运算符(表达式1?表达式2:表达式3 )

当 表达式1 的值为 true 时, 整个表达式的值为 表达式2 的值;
当 表达式1 的值为 false 时, 整个表达式的值为 表达式3 的值.

boolean fla=false?false:true==true?true:false
// true==true
// true

七,运算符的优先级

加个括号能累死????

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/820770.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号