目录
逻辑运算符
分类
符号 | 作用 | 说明 |
& | 逻辑与(且) | 并且,两边为真,结果才是真 |
| | 逻辑或 | 或者,两边为假,结果才是假 |
^ | 逻辑异或 | 相同为false,不同为true |
! | 逻辑非 | 取反 |
例子
package Test;
public class Test16 {
public static void main(String[] args) {
//1.& 并且(两边都要满足)
System.out.println(true & true);//true
System.out.println(false & false);//false
System.out.println(true & false);//false
//2.| 或者(两边满足一个)
System.out.println(true | true);//true
System.out.println(false | false);//false
System.out.println(true | false);//true
//3.^ 逻辑异或
System.out.println(true ^ true);//false
System.out.println(false ^ false);//false
System.out.println(true ^ false);//true
//4.! 逻辑非 取反
System.out.println(!true);//false
System.out.println(!false);//true
}
}
短路逻辑运算符
符号 | 作用 | 说明 |
&& | 短路与 | 结果和&相同,但是有短路效果 |
|| | 短路或 | 结果和|相同,但是有短路效果 |
例子
package Test;
public class Test16 {
public static void main(String[] args) {
//1.&& 短路与
System.out.println(true && true);//true
System.out.println(false && false);//false
System.out.println(true && false);//false
//2.|| 短路或
System.out.println(true || true);//true
System.out.println(false || false);//false
System.out.println(true || false);//true
}
}
3.短路逻辑运算符具有短路效果
短路效果
当左边的表达式能确定最终的结果,那么右边就不会参加运行了。
例子
package Test;
public class Test16 {
public static void main(String[] args) {
int a = 10;
int b = 10;
boolean r = ++a < 5 && ++b < 5;
System.out.println(r);//false
System.out.println(a);//11
System.out.println(b);//10
}
}
注意
&或|,无论左边true false,右边都要执行。
&&或||,如果左边能确定整个表达式的结果,右边不执行。
常用逻辑运算符 &&,||,!
三元运算符/三元运算式
(三元运算符/三元表达式)格式
格式:关系表达式?表达式1:表达式2;
计算规则
首先计算关系表达式的值
如果值为true,表达式1的值就是运算结果。
如果值为false,表达式2的值就是运算结果。
例子
package Test;
public class Test16 {
public static void main(String[] args) {
int a = 10;
int b = 20;
int max = a > b ? a : b;//把三元运算符的结果赋值给一个变量
System.out.println(max);//把三元运算符的结果直接打印
//20
//或
System.out.println(a > b ? a : b);//20
}
}
运算符优先级
优先级 | 运算符 |
1 | . () {} |
2 | ! - ++ -- |
3 | * / % |
4 | + - |
5 | << >> >>> |
6 | < <= > >= instanceof(实例化) |
7 | == != |
8 | & |
9 | ^ |
10 | ! |
11 | && |
12 | || |
13 | ? : |
14 | = += -= *= /= %= &= |
例子
package Test;
public class Test16 {
public static void main(String[] args) {
int a = 10;
int b = 20;
int c = 30;
System.out.println(a + b * c);//610
System.out.println((a + b) * c);//900
System.out.println(a + (b * c));//610
//()的优先级是最大的
}
}
流程控制语句
流程控制语句:通过一些语句,控制程序的执行流程
顺序结构
顺序结构语句是java程序默认的执行流程,按照代码的先后顺序,从上到下依次执行
package Test;
public class Test16 {
public static void main(String[] args) {
System.out.println(1);//1
System.out.println(2);//2
System.out.println(3);//3
System.out.println(4);//4
System.out.println(5);//5
}
}
java基础(5)https://blog.csdn.net/ma_zhuang6/article/details/126821273