需求:
定义一个变量记录两个整数的较大值。
int number = 拿着两个整数进行比较
system.out.println(number);
作用:可以进行判断,根据判断的结果得到不同的内容。
- 格式:
关系表达式 ? 表达式1 : 表达式2;
范例:求两个数的较大值。
int max = a > b ? a : b;//把三元运算符的结果赋值给一个变量
System.out.println(a > b ? a : b;);
代码实现
public class TernaryoperatorDemo1 {
public static void main(String[] args) {
//需求:使用三元运算符,获取两个数的较大值
//分析:
//1.定义两个变量用于记录两个整数
int number1 = 10;
int number2 = 20;
//2.使用三元运算符获取两个整数的最大值
//格式:关系表达式 ? 表达式1 : 表达式2;
//整个三元运算符结果必须要被使用
int max = number1 > number2 ? number1 : number2;
System.out.println(max);
System.out.println(number1 > number2 ? number1 : number2);
}
}
- 计算规则:
- 首先计算关系表达式的值
- 如果值为
true
,表达式1的值就是运算结果。 - 如果值为
false
,表达式2的值就是运算结果。
练习1:两只老虎
需求:
动物园里有两只老虎,体重分别为通过键盘录入获得,请用程序实现判断两只老虎的体重是否相同
代码演示
import java.util.Scanner;
public class test4 {
public static void main(String[] args) {
/*需求:动物园里有两只老虎,体重分别为通过键盘录入获得,
请用程序实现判断两只老虎的体重是否相同。 */
//分析:
//1.键盘录入两只老虎的体重
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一只老虎的体重");
int weight1 = sc.nextInt();
System.out.println("请输入第二只老虎的体重");
int weight2 = sc.nextInt();
//2.比较
//只能用true or false
//System.out.println(weight1 == weight2);
//想用相同或者不同
String result = weight1 == weight2 ? "相同" : "不同";
System.out.println(result);
}
}
output
练习2:
代码演示
public class test5 {
public static void main(String[] args) {
/* 需求:一座寺庙里住着三个和尚,已知他们的身高分别为150cm、210cm、165cm
请用程序实现这三个和尚的最高身高。
*/
//1.定义三个变量记录三个和尚的身高。
int height1 = 150;
int height2 = 210;
int height3 = 165;
//2.用第一个和尚身高和第二个和尚对比
//再拿结果与第三个和尚身高进行对比即可
int temp = height1 > height2 ? height1 : height2;
int max = temp > height3 ? temp : height3;
//Ctrl+Alt+L 自动格式化代码
System.out.println(max);//210
}
}