/ 除
小试牛刀 : 试着计算看你能算对么 ?
public static void main(String[] args) {
System.out.println(5 / 2);
System.out.println((float) 5 / 2);
System.out.println(5 / (float)2);
System.out.println((float) (5 / 2));
}
public static void main(String[] args) {
System.out.println(5 / 0);
}
运行这个代码会报出异常
public static void main(String[] args) {
System.out.println(10 % 3);
System.out.println(10 % -3);
System.out.println(-10 % 3);
System.out.println(-10 % -3);
}
答案符号看被除数符号
public static void main(String[] args) {
System.out.println(11.5 % 2);// 1.5
}
+= 的类型转化例子
public static void main(String[] args) {
short s1 = 10;
// s1 = s1 + 1;//类型不一样
s1 += 1;//相当于 s1 = (short) (s1 + 1);
}
前后置加加 与 前后置减减 的区别
前置加加
public static void main(String[] args) {
int a = 1;
int b = ++a;
System.out.println(a);//a += 1 b = a
System.out.println(b);
}
后置加加
public static void main(String[] args) {
int a = 1;
int b = a++;//b = a a += 1
System.out.println(a);
System.out.println(b);
}
逻辑运算符😀
布尔表达式 && 布尔表达式
&& 并且(短路与)
注意: 如果表达式1为假那么表达式2则不会执行, 直接返回false
需要左右两个条件都满足, 有一个错, 则返回 false
|| 或者(短路或)
注意: 如果表达式1为真那么表达式2则不会执行, 直接返回true
需要左右两个条件只需要一个满足就好, 有一个对, 就返回 true
位运算符😁
& | 按位与 | 一假则假 |
---|---|---|
| | 按位或 | 一真则真 |
~ | 按位取反 | 真变假, 假变真 |
^ | 按位异或 | 同0异1 |
如下:
左移 | << |
---|---|
右移 | >> |
无符号左移 | <<< |
<< (左移)
最左侧位不要了, 最右侧补 0
注意:向左移位时,丢弃的是符号位,因此正数左移可能会编程负数
>> (右移)
最右侧位不要了, 最左侧补符号位(正数补0, 负数补1)
>>> 无符号右移
最右侧位不要了, 最左侧补 0
注意:
- 左移 1 位, 相当于原数字 * 2. 左移 N 位, 相当于原数字 * 2 的N次方
- 右移 1 位, 相当于原数字 / 2. 右移 N 位, 相当于原数字 / 2 的N次方
- 由于计算机计算移位效率高于计算乘除, 当某个代码正好乘除 2 的N次方的时候可以用移位运算代替
- 移动负数位或者移位位数过大都没有意义
三目运算符
表达式1 ? 表达式2 : 表达式3
当表达式1 的值为 true 时, 整个表达式的值为表达式2的值;
当 表达式1 的值为 false 时, 整个表达式的值为表达式3 的值.
这是 Java 中唯一的一个 三目运算符
今天的分享到此结束 😎
2022年9月22日21:33:32