【Java选择语句(if,else,switch)】

Java选择语句

选择结构包括if语句与switch语句
if语句分为:if;if,else;if,else if ,else三种结构。

if语句

if结构
格式:
if(关系表达式){
		语句体   
		}   

执行流程:
1.先判断关系表达式;
2.如果关系表达式符合要求,那么就执行语句体;
3. 如果不符合要求,那么不执行语句体;
4. 执行后面的其他代码;

public static void main(String [] args){
	int a=1;
	int b=2;
	if(a+b==3){ 
		 //先判断a+b是否等于3         
        //如果a+b等于3的话,执行if语句体里的语句块
		System.out.println("先执行if语句的内容");		
	}

	System.out.println("然后执行if语句块外面的内容");
	
	if(a+b==4){	
		//先判断a+b是否等于4
		//因为a+b的值不等于4,所以下下面这个语句块不会执行
		System.out.println("这是不满足条件的if语句块");	
	}
}

例如1:(判断当天星期几)

 public static void main(String[] args) {
        var d = new Date();
        int day = d.getDay();
        if (day == 0) {
            System.out.println("星期日");
        }
        if (day == 1) {
            System.out.println("星期一");
        }
        if (day == 2) {
            System.out.println("星期二");
        }
        if (day == 3) {
            System.out.println("星期三");
        }
        if (day == 4) {
            System.out.println("星期四");
        }
        if (day == 5) {
            System.out.println("星期五");
        }
        if (day == 6) {
            System.out.println("星期六");
        }
}
if,else结构
if(关系表达式){    
 		语句体 1  
 	} else{    
 	语句体2
 	}

执行流程:
1.先判断关系表达式;
2.如果关系表达式符合要求,那么就执行语句体1;
3. 如果不符合要求,那么执行语句体2;
4.然后再继续执行其他代码;

	public static void main(String [] args){
	int a=1;
	int b=2;
	if(a+b==3){  
	    //先判断a+b是否等于3
        //如果a+b等于3的话,执行if语句体里的语句块1
		System.out.println("执行语句体1的内容");		
	}else {
		//因为语句体1符合要求,所以语句体2就不会继续执行了
		System.out.println("执行语句体2的内容");
	}
	
	//继续往下执行
	System.out.println("然后执行if语句块外面的内容");
	
	if(a+b==4){				
		//先判断a+b是否等于4
		//因为a+b的值不等于4,所以下面这个语句块3不会执行
		System.out.println("执行语句体3的内容");	
	}else{
		//因为语句体3不符合要求,所以会执行语句体4
	System.out.println("执行语句体4的内容");	
	}
}	

例如2:(判断当天星期几)

public static void main(String [] args){
        var d = new Date();
        int day = d.getDay();
		if (day == 1) {
            System.out.println("星期一");
        } else if (day == 2) {
            System.out.println("星期二");
        } else if (day == 3) {
            System.out.println("星期三");
        } else if (day == 4) {
            System.out.println("星期四");
        } else if (day == 5) {
            System.out.println("星期五");
        } else if (day == 6) {
            System.out.println("星期六");
        } else {
            System.out.println("星期日");
	}
}
if,else if,else结构
格式:if(关系表达式1{
     语句体 1   
     } else if(关系表达式2{
          语句体2    
          }else{
          语句体3
         }

执行流程:
1.先判断关系表达式1;
2.如果关系表达式1符合要求,那么就执行语句体1;
3.如果不符合要求,那么继续判断关系表达式2是否符合要求如果符合要求,执行语句体2;
4.如果关系表达式1,2都不符合要求,那么执行和关系表达3;
5.然后继续执行;

public static void main(String [] args){
	int a=1;
	int b=2;
	if(a+b==3){  
		//先判断a+b是否等于3          
        //如果a+b等于3的话,执行语句体1的内容
		System.out.println("执行语句体1的内容");		
	//如果上面的a+b==3不符合要求,那么判断a+b==4是否符合要求
	{else if(a+b==4){
		//如果上面的a+b==4符合要求,那么执行语句体2的内容
		System.out.println("执行语句体2的内容");
	}else {
	//如果a+b==3,a+b==4都不符合要求,那么执行语句体3的内容
		System.out.println("执行语句体3的内容");
	}
	
	//继续往下执行
	System.out.println("然后执行if语句块外面的内容");
	
	
}

可以参考“例如2”

switch语句

格式:
switch(表达式){
	case   常量a :语句体1breakcase   常量b : 语句体2break;
//多个case可以共用一个语句体,具体参考下方例4.
............
    default: 语句体n ;                  
    break;
}

例如4:(判断月份有几天)

public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入年 :");
       int year = sc.nextInt();
       //int定义,=号赋值
        System.out.println();
        System.out.print("请输入月 :");
       int month = sc.nextInt();
       //定义并赋值
        var c = Calendar.getInstance();
        int days = 0;
        switch (month) {
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:
        days = 31;
        break;

        case 4:
        case 6:
        case 9:
        case 11:
        days = 30;
        break;
        case 2:
        days = year % 400 == 0 || year % 4 == 0 && year % 100 != 0 ? 29 : 28;
        LocalDate now = LocalDate.of(year, month, 1);
        days = now.isLeapYear() ? 29 : 28;
        break;
        default:
        days = 0;
        break;
        }
        System.out.printf("%d年%d月有%d天", year, month, days);
    }
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值