目录
- 运算符
- Math数学函数与常量
- 类型转换
- 强制类型转换
- 自增和自减运算符
- 关系运算符
- 三元运算符
- 位运算
- & 与
- | 或
- ^ 异或
- ~ 按位取反
- << >> 左移 右移
- 运算符优先级
运算符
Math数学函数与常量
import java.lang.Math.*;
public class Test{public static void main(String[] xxx){double x1 = Math.sqrt(7); // 开方double x2 = Math.pow(3, 4); // 3 的 4 次方double x3 = Math.sin(30);System.out.println(x1);System.out.println(x2);System.out.println(x3); }
}
类型转换
虚线表示进度丢失。
强制类型转换
默认小的不能转换为大的。
可以进行强制类型转换,但是会丢失信息。
基本类型的强制转换,实际上基本没什么用。
自增和自减运算符
a++ 先运算后+1
++a 先+1后运算
import java.lang.Math.*;
public class Test{public static void main(String[] xxx){int a = 10;if (++a > 10){System.out.println("====" + a);}else{System.out.println("####" + a);} }
}
注意:b = b++; b是不会变化的。
关系运算符
== 相等
!= 不等
&& 并且
|| 或
< 小于 > 大于
三元运算符
import java.lang.Math.*;
public class Test{public static void main(String[] xxx){int a= 10;int b = 10;int m1 = a > b ? 20:30;float m2 = a < b ? 23.5F : 34.45F;System.out.println(m1);System.out.println(m2);}
}
位运算
public class Test{public static void main(String[] xxx){int a = 13;int b = 59;int m1 = a & b;int m2 = a | b;int m3 = a ^ b;int m4 = ~a;System.out.println(m1);System.out.println(m2);System.out.println(m3);System.out.println(m4);}
}
& 与
| 或
^ 异或
非代码书写:2^4 = 16
代码书写: 2^4 异或
~ 按位取反
每一位都取反。
<< >> 左移 右移
int k1 = 3;k1 = k1 << 4; // 乘2的四次方System.out.println(k1);k1 = k1 >> 3; // 除以2的3次方System.out.println(k1);
向右移动,左边补的是符号位
向左移动,右边补的是0。
> 始终补0