文章目录
- 一、关系运算符(应用)
- 二、逻辑运算符(应用)
- 三、三元运算符(理解)
- 三元运算符案例:
- 1.需求
- 2. 需求:
一、关系运算符(应用)
关系运算符有6种关系,分别为小于、小于等于、大于、大于等于、不等于。
注意事项:
关系运算符的结果都是boolean类型,要么是true ,要么是false。
千万不要把""误写成官,-“是判断是否相等的关系,”="是赋值。
二、逻辑运算符(应用)
逻辑运算符把各个运算的关系表达式连接起来组成一个复杂的逻辑表达式,以判断程序中的表达式是否成立,判断的结果是true或false。
〃定义变量 int 1 = 10; int j = 20; int k = 30;
//& “与并且的关系,只要表达式中有f 值为false,结果即为false
//I “或”,或者的关系,只要表达式中有一个值为t「ue,结果即为
System.out.pri ntln((i > j) 1 (1 > k)); //false I false,输出false
System.out.pri ntln((i < j) 1 (1 > k)); //true | false,输出 true
System.out.pri ntln((i > j) 1 (1 < k)); //false I true,输出true
System.out.pri ntln((i < j) 1 (1 < k)); //true | true,输出true
System.out.pri ntln("-- tl ');
//A “异或”,相同为false ,不同为t rue
System.out.pri ntln((i > j)人 (1 > k)); //false A false,输出false
System.out.pri ntln((i < j)人 (1 > k)); //true A false,输出 true
System.out. println((i > j) A (i < k)) ; //false A true,输出true
System, out. pri ntl n((i < j) A (i < k)); //true A true,输出 false
System, out. println(" ");
//! “非”,取反
System.out.println((i > j)); //false
System.out. println( ! (i > j)) ; //! false ,,输出true
短路逻辑运算符:
在逻辑与运算中,只要有一个表达式的值为false ,那么结果就可以判定为false了 ,没有必要将所有表达式的值都 计算出来,短路与操作就有这样的效果,可以提高效率。同理在逻辑或运算中,一旦发现值为true ,右边的表达式 将不再参与运算。
-逻辑与& ,无论左边真假,右边都剛行。
•短路与&& ,如果左边为真,右边执行;如果左边为假,右边不执行。
・逻辑或| ,无论左边真假,右边都要执行。
-短路或| | ,如果左边为假,右边执行;如果左边为真,右边不执行。
1 nt x = 3;
int y = 4;
System. out. p ri ntl n ( (x++ > 4) & (y++ > 5)); // 两个表达都会运算
System.out.println(x); // 4
System.out.println(y); // 5
System. out. pri ntl n((x++ > 4) && (y++ > 5)) ; //左边已经可以确定结果为false ,右边不参与运算
System.out.println(x); // 4
System.out.println(y); // 4
三、三元运算符(理解)
三元运算符语法格式:
解释:问号前面的位置是判断的条件,判断结果为boolean型,为true时调用表达式1 ,为false时调用表达式2。其 逻辑为:如果条件表达式成立或者满足则执行表达式1 ,否则执行第二个。
举例:
1 nt a = 10;
int b = 20;
int c = a > b ? a : b; //判断a>b是否为真,如果为真取a的值,如果为假,取b的值
三元运算符案例:
1.需求
动物园里有两只老虎,已知两只老虎的体重分别为180kg. 200kg ,请用程序实现判断两只老虎的体重是 否相同。
public class operatorTestOl {
public static void main(string]] args) {
//l:定义两个变量用于保存老虎的体重,单位为kg ,这里仅仅体现数值即可。
1 nt weightl = 180;
int weight? = 200;
//2 :用三元运算符实现老虎体重的判断,体重相同,返回true ,否则,返回false。
boolean b = weightl == weight? ? true : false;
//3 :输出结果
System.out.println("b:" + b);
}
}
2. 需求:
一座寺庙里住着三个和尚,已知他们的身高分别为150cm、210cm、165cm,请用程序实现获取这三个 和尚的最高身高。
public class operatorTest02 (
public static vold main(string[] args) {
//l:定义三个变量用于保存和尚的身高,单位为cm ,这里仅仅体现数值即可。
int heightl = 150;
i nt hei ght2 = 210;
i nt hei ght3 = 165;
//2 :用三元运算符获取前两个和尚的较高身高值,并用临时身高变量保存起来。
int tempHeight = heightl > height? ? heightl : height?;
//3 :用三元运算符获取临时身高值和第三个和尚身高较高值,并用最大身高变量保存。
i nt maxHei ght = tempHei ght > hei ght3 ? tempHei ght : hei ght3;
〃4 :输出结果
System.out.println("maxHeight:" + maxHeight);
}
}