Java基本运算符
java语言支持如下运算符
- 算术运算符:+ ,-,*,/,++,–,%
- 赋值运算符:=
- 关系运算符:>,<,>=,<=,==,!=
- 逻辑运算符:&&,||,!
- 位运算符:&,|,^,~,>>,<<
- 条件运算符:?:
- 扩展赋值运算符:+=,-=,*=,/=
算术运算符
// 二元运算符
int a = 10;
int b = 20;
int c = 25;
int d = 25;
System.out.println(a+b);//30
System.out.println(a-b);//-10
System.out.println(a*b);//200
System.out.println(a/b); //实际输出为0因为默认输出结果为int型数据
System.out.println(a/(double)b); //0.5,强制转换后输出0.5
//取余,模运算
System.out.println(c%a);//25%10=5
//++ -- 自增 自减 一元运算符
int q = 3;
int w = q++;//先给w赋值后再自增
int e = ++q;//先自增再给e赋值
System.out.println(q);//3
System.out.println(w);//3
System.out.println(e);//5 e进行赋值运算前q已经在给w赋值之后自增过一次,在赋值给e前再一次自增结果为5
long z = 123123123123123123L;
int x = 123;
short y = 10;
byte l = 8;
System.out.println(z+x+y+l);//Long//123123123123123264
System.out.println(x+y+l);//Int//141
System.out.println(y+l);//Int//18
常用运算符有时候并不能满足计算要求,所以可以利用java提供的一些工具类来完成计算
例如:幂运算
double pow = Math.pow(2,3);//利用Math类实现幂运算
System.out.println(pow);//8
关系运算符
关系运算符返回结果只有两种 true 或者 false
//关系运算符返回的结果: 正确, 错误 布尔值
int a = 10;
int b = 20;
System.out.println(a>b);//false
System.out.println(a<b);//true
System.out.println(a==b);//false
System.out.println(a!=b);//true
逻辑运算符
//逻辑运算符
//与(and) 或(or) 非(取反)
boolean a = true;
boolean b = false;
System.out.println("a && b:"+(a && b));//逻辑与运算:两个变量都为真,结果才为true//false
System.out.println("a || b:"+(a || b));//逻辑或运算:两个变量有一个为真,结果则为true//true
System.out.println("!(a && b):"+!(a && b));//逻辑非运算:如果结果为真则变为假,如果为假则变为真//true
//短路运算
int c =5;
boolean d =(c<4)&&(c++<4);//(c<4)为假,结果为假不用再向后执行判断,发生短路运算
System.out.println(d);//false
System.out.println(c);//5 逻辑运算语句发生短路运算,c++未被执行结果任然为5
位运算符
// A= 0011 1100
// B= 0000 1101
//
// A&B 0000 1100
// A|B 0011 1101
// A^B 0011 0001
// ~B 1111 0010
其他运算符
int a = 10;
int b = 20;
a+=b;//a = a+b
System.out.println(a);//30
a-=b;//a = a-b
System.out.println(a);//10
//字符串连接符 + ,String
System.out.println(""+a+b);//1020
System.out.println(a+b+"");//30
//三元运算符
// x ? y : z
//如果x==true,则结果为y,否则结果为z
int score = 80;
String type = score<60?"不及格":"及格";
System.out.println(type);//及格
运算符优先级
1.运算符有不同的优先级,所谓优先级就是表达式运算中的运算顺序.
2.只有单目运算符.赋值运算符是从右向左运算的.
| 优先级 | 运算符 | 简介 | 综合性 |
|---|---|---|---|
| 1 | [ ]、 .、 ( ) | 方法调用,属性获取 | 从左向右 |
| 2 | !、~、 ++、 – | 一元运算符 | 从右向左 |
| 3 | * 、/ 、% | 乘、除、取模(余数) | 从左向右 |
| 4 | + 、 - | 加减法 | 从左向右 |
| 5 | <<、 >>、 >>> | 左位移、右位移、无符号右移 | 从左向右 |
| 6 | < 、<= 、>、 >=、 instanceof | 小于、小于等于、大于、大于等于, 对象类型判断是否属于同类型 | 从左向右 |
| 7 | == 、!= | 2个值是否相等,2个值是否不等于。 | 从左向右 |
| 8 | & | 按位与 | 从左向右 |
| 9 | ^ | 按位异或 | 从左向右 |
| 10 | | | 按位或 | 从左向右 |
| 11 | && | 短路与 | 从左向右 |
| 12 | || | 短路或 | 从左向右 |
| 13 | ?: | 条件运算符 | 从右向左 |
| 14 | =、 += 、-= 、*= 、/=、 %=、 &=、 =、 ^=、 <、<= 、>、>= 、>>= | 混合赋值运算符 | 从右向左 |
在使用运算符时要注意优先级!!!
https://www.cnblogs.com/wangweisheng/p/9727105.html
本文详细介绍了Java中的各类运算符,包括算术运算符、赋值运算符、关系运算符、逻辑运算符、位运算符、扩展赋值运算符以及条件运算符等,并解释了它们的应用场景和优先级。
1669

被折叠的 条评论
为什么被折叠?



