4.逻辑运算符(运算符左右两边是布尔类型,结果是布尔类型) true/false
&与
|或
!非
^异或
目标:理解逻辑运算符
&与: 有false则false
|或: 有true则true
!非:取反
^异或: 相同为false,不同为true
public class Operator06 {
public static void main(String[] args) {
// &与: 有false则false, 要求要只有2个都是true结果才是true
System.out.println(false & false); // false
System.out.println(true & false); // false
System.out.println(false & true); // false
System.out.println(true & true); // true
// |或: 有true则true, 要求不要,有一个true即可
System.out.println(false | false); // false
System.out.println(true | false); // true
System.out.println(false | true); // true
System.out.println(true | true); // true
// !非:取反 非礼(没有礼貌)
System.out.println(!true); // false
System.out.println(!false); // true
// ^异或: 相同为false,不同为true. 民政局领证
System.out.println(false ^ false); // false
System.out.println(true ^ false); // true
System.out.println(false ^ true); // true
System.out.println(true ^ true); // false
}
}
5.三元/三目 运算符
格式:
数据类型 变量名 = 布尔表达式 ? 结果1 : 结果2;
执行流程:
1.布尔类型表达式结果是true,三元运算符整体结果为结果1,赋值给变量。
2.布尔类型表达式结果是false,三元运算符整体结果为结果2,赋值给变量。
目标:掌握三元运算符的格式和计算结果
public class Operator08 {
public static void main(String[] args) {
int x = 100 > 500 ? 10 : 20;
System.out.println(x);
// 三元运算符练习
// 1.判断两个数是否相同
int a = 20;
int b = 20;
boolean y = a == b ? true : false;
System.out.println("y = " + y);
// String表示字符串类型
String z = a == b ? "相同" : "不相同";
System.out.println("z = " + z);
// 2.获取两个数的较大值
int m = 100;
int n = 20;
int k = m > n ? m : n;
// m > n是true,实际m大,返回m
// m > n是false,实际n大,返回n
System.out.println("最大值 = " + k);
}
}