1:短路与&&。a&&b,当a为false时,程序不会再判断b的逻辑判断
int a = 6;
int b = 2;
if(a < 1 && b++ >5){
System.out.println(1111);
}
System.out.println(b); // 2
int a = 6;
int b = 2;
if(a < 8 && b++ >5){
System.out.println(1111);
}
System.out.println(b); // 3
2:逻辑与&。a&b,不管什么情况下,程序都会执行a和b的逻辑判断
3:短路或||。a||b,当a为true,程序不会再判断b
4:逻辑或|。a|b,不管什么情况下,程序都会判断a、b
取模运算
1:%取余
-10.5%3 = -1.5 //a%b,当a是小数时,公式=a-(int)a/b*b
自增
1:隐式类型转换
byte b = 3;
b += 2; //等价于 b=(byte)(b+2)
b++;//等价于b=(byte)(b+1)
2:int i = 1;
i = i++;// 1.
计算机的规则:此处会使用一个临时变量,(1)temp=i(2)i=i+1(3)i=temp
3:int i = 1;
i = ++i;//2
计算机的规则:此处(1)i=i+1(2)temp=i(3)i=temp
4:int i = 66;
++i+i;//67+67
三目运算符
1:三目运算符
int a = 1;
int b =2;
int c = a>b?a--:b--;//a=1;b=1
int d = a<b?a--:b--;//a=0;b=2
2:三目运算符
int a = 1>2?0.1:0.2; //编译失败,表达式中的数据类型要与接收变量的数据类型一致
3:三目运算符相当于if...else
位移
m>>n: m/2^n
m<<n: m*2^n
取余
m%n => (n-1)&m
效率对比xxxxxxxxxx 1:强制转换是自动转换的逆过程。将容量大的数据类型转换为容量小的数据类型, 使用时要加上强制转换符()。但可能会造成精度丢失2:int a = (int)1.9;//1 造成了精度丢失 byte b = (byte)2000;// 造成了溢出3:byte b = 1; b = b +1; //错误,int->byte b = (byte)(b+1);//正确。4:byte b = 1; short s = 2; short s = s + b;5:double d = 1/2; // 0.0,1/2由于没有指定数据类型,计算结果默认为int,int转化为double会精度丢失 double d = 1/2d;//0.5plain
Java基础-运算符
最新推荐文章于 2024-09-01 22:15:12 发布
本文深入探讨了Java编程语言中的各种运算符,包括算术运算符、比较运算符、逻辑运算符、位运算符以及赋值运算符。通过实例解析,阐述了它们的使用方法和适用场景,帮助开发者更好地理解和掌握Java基础。
摘要由CSDN通过智能技术生成