Java运算符
2021/10/22 20:10:01
本文主要是介绍Java运算符,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
算术运算符
- +
- -
- *
- /
- %:两边的操作数必须为int
- ++
- --
自增自减运算符(++、--)
测试代码:
public class Demo { public static void main(String[] args) { // a++先使用a的值再自增 int a = 1; System.out.println(a++); System.out.println(a); // ++b先自增再使用b的值 int b = 1; System.out.println(++b); System.out.println(b); } }
结果:
赋值运算符
- =
- +=
- -=
- *=
- /=
- %=
- <<=
- >>=
- &=
- ^=
- !=
若a的类型为A,b的类型为B,若A>B,则a += b
等价于a += (A)b
;若A<B,则a += b
等价于a = (A)((B)a + b)
。其中A>B指的是数据类型A的范围比B大。
测试代码:
// A>B public class Demo { public static void main(String[] args) { double a = 2.8; int b = 100000; a += b; System.out.println(a); } }
// A<B public class Demo { public static void main(String[] args) { int a = 100000; double b = 2.8; a += b; System.out.println(a); } }
反编译后的代码:
// A>B public class Demo { public Demo() { } public static void main(String[] var0) { double var1 = 2.8D; int var3 = 100000; var1 += (double)var3; System.out.println(var1); } }
// A<B public class Demo { public Demo() { } public static void main(String[] var0) { int var1 = 100000; double var2 = 2.8D; var1 = (int)((double)var1 + var2); System.out.println(var1); } }
关系运算符
关系运算符的结果为boolean类型。
- >
- <
- >=
- <=
- ==
- !=
- instanceof:判断一个对象是否是一个类的实例
逻辑运算符
- &&:短路与
- ||:短路或
- !
测试代码:
public class Demo { public static void main(String[] args) { int a = 10; boolean flag = a < 5 && a++ < 20; // 结果输出10而不是11,说明&&是短路的 System.out.println(a); } }
public class Demo { public static void main(String[] args) { int a = 10; boolean flag = a > 5 || a++ < 20; // 结果输出10而不是11,说明||是短路的 System.out.println(a); } }
位运算符
- &:两个都是1则为1,否则为0
- |:只要有一个1就为1
- ^:相同为0,不同为1
- ~:按位取反,0变1,1变0
- >>:按位右移1位,相当于除以2,向下取整
- <<:在数字没有溢出的前提下,按位左移1位,相当于乘2
- >>>:按位右移,高位补0
public class Demo { public static void main(String[] args) { System.out.println(11 >> 1); // 5 System.out.println(-11 >> 1); // -6 System.out.println(11 << 1); // 22 System.out.println(-11 << 1); // -22 } }
条件运算符
- ?:
A?B:C
:A为真,则执行B,否则执行C
public class Demo { public static void main(String[] args) { int a = 10; // 输出true System.out.println(a > 5 ? "true" : "false"); } }
运算符优先级
从上到下依次降低
运算符 | 结合性 |
---|---|
* / % | 从左到右 |
+ - | 从左到右 |
>> >>> << | 从左到右 |
> >= < <= | 从左到右 |
== != | 从左到右 |
& | 从左到右 |
^ | 从左到右 |
| | 从左到右 |
&& | 从左到右 |
|| | 从左到右 |
?: | 从右到左 |
= += -= *= /= %= >>= <<= &= ^= |= | 从右到左 |
这篇关于Java运算符的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-28微服务架构中API版本控制的实践
- 2024-09-28AI给的和自己写的Python代码,都无法改变输入框的内容,替换也不行
- 2024-09-27Sentinel配置限流资料:新手入门教程
- 2024-09-27Sentinel配置限流资料详解
- 2024-09-27Sentinel限流资料:新手入门教程
- 2024-09-26Sentinel限流资料入门详解
- 2024-09-26Springboot框架资料:初学者入门教程
- 2024-09-26Springboot框架资料详解:新手入门教程
- 2024-09-26Springboot企业级开发资料:新手入门指南
- 2024-09-26SpringBoot企业级开发资料新手指南