图1-1 if…else if…else语句的流程图
选择结构if语句与三元运算转换
三元运算符,它和if-else语句类似,语法如下:
判断条件 ? 表达式1 : 表达式2
三元运算符会得到一个结果,通常用于对某个变量进行赋值,当判断条件成立时,运算结果为表达式1的值,否则结果为表达式2的值。
import java.util.Scanner;
class Demo03
{
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
System.out.println("请输入第一个整数");
int num1=sc.nextInt();
System.out.println("请输入第二个整数");
int num2=sc.nextInt();
int max;
if(num1>num2){
max=num1;
}else{
max=num2;
}
System.out.println("最大值:"+max);
}
}
import java.util.Scanner;
import java.util.Random;
class Demo04
{
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
//1.让输入三个数,用三目运算符求最大值
System.out.println("请输入第一个整数");
int num1=sc.nextInt();
System.out.println("请输入第二个整数");
int num2=sc.nextInt();
System.out.println("请输入第三个整数");
int num3=sc.nextInt();
int max= (num1>num2?num1:num2)>num3?(num1>num2?num1:num2):num3;
System.out.println("最大值:"+max);
//2.剪刀是0 石头是1 布是2 ,
//程序随机产生一个0或1或2,
//让用户输入一个0或1或2,猜拳,打印赢了还是输了还是平了
System.out.println("剪刀是0 石头是1 布是2 ,程序随机产生一个0或1或2用户输入一个0或1或2,猜拳,打印赢了还是输了还是平了");
Random r= new Random();
int num4= r.nextInt(3);
int num5;
while(true){
System.out.println("输入一个0或1或2");
num5= sc.nextInt();
if (num5>=0&&num5<3)
{
break;
}
System.out.println("重新输入正确值 0或1或2的值");
}
switch(num5){
case 0:if (num4==1)
{
System.out.println("输了");
}else if (num4==2)
{
System.out.println("赢了");
}else{
System.out.println("平了");
}
break;
case 1:if (num4==2)
{
System.out.println("输了");
}else if (num4==0)
{
System.out.println("赢了");
}else{
System.out.println("平了");
}
break;
case 2:if (num4==0)
{
System.out.println("输了");
}else if (num4==1)
{
System.out.println("赢了");
}else{
System.out.println("平了");
}
break;
}
System.out.println("电脑随机值:"+num4+"输入:"+num5);
//3.让用户输入1-7,如果是1-5则打印工作日,如果是6-7则打印休息日
int num6;
while(true){
System.out.println("请输入1-7");
num6= sc.nextInt();
if (num6>=1&&num6<8)
{
break;
}
System.out.println("重新输入正确值 1-7");
}
if (num6>=1&&num6<=5)
{
System.out.println("工作日");
}else{
System.out.println("休息日");
}
}
}