解析java当中switch语句的作用和break、continue关键字的用法

解析java当中switch语句的作用和break、continue关键字的用法

A. switch语句

1.含义

是分支结构,使程序按照条件的判断结果去执行相应的程序代码.

2.语法

switch(变量名){
    case1:
        //case值1与变量值相等时,则执行里面待执行的语句
        //待执行的语句;
        break;
    case2:
        //case值2与变量值相等时,则执行里面待执行的语句
         //待执行的语句;
        break;
    .....
    case值n:
        //case值n与变量值相等时,则执行里面待执行的语句
         //待执行的语句;
        break;
   default:
         //当以上case值与变量值都不相同时,则执行里面待执行的语句
         //待执行的语句;
        break; 
}
//其中变量名可以是byte short char int String类型(有些以前的jdk版本不支持String)

3.示例代码如下所示

public class Demo {
	public static void main(String[] args) {
        System.out.println("求2022年1月1号到2022年7月1号的间距天数");
        int startMonth=1,finishMonth=7,sumDay=0;
        boolean flag=false;
        //flag是用来判断概念是否为闰年,如果是,则flag的值为true
        //思路:1.判断该年是否为闰年,如果是闰年,二月就有29天,否则只有28天
        //2.从1月份开始,把每月份的天数加入到间距天数中
        //3.当所要加入的月份都加入完成后,所得到的结果就是间距天数
        if(2022%400==0||(2022/4==0&&2022%100!=0)) {
        	flag=true;
        }
        for(int i=startMonth;i<finishMonth;i++) {
        	switch(i){
        	  case 2:
        		  sumDay+=28;
        		  if(flag) {
        			  sumDay++;
        		  }
        		  break;
        	  case 1:
        	  case 3:
        	  case 5:
        	  case 7:	
        	  case 8:
        	  case 10:	
        	  case 12:
        		  sumDay+=31;
        		  break;
        	  case 4:
        	  case 6:
        	  case 9:
        	  case 11:	
        		  sumDay+=30;
        		  break;	
        	  default:
        		  System.out.print("月份有问题!!!!麻烦检查后再去赋值");
        		  break;
        	}
        }
       //最后还要加1,因为前面是算到了6月30号
			  System.out.print("间隔天数为: "+(++sumDay));
	}
}

4.示例代码运行截图如下所示:

在这里插入图片描述

B.break关键字

1.含义

跳出当前循环或者switch语句中的关键字

2.语法

循环体写break或者case(default)的执行语句后面写break

3.示例代码如下所示

import java.util.Scanner;
public class Demo {
	public static void main(String[] args) {
		boolean flag=false;
		//flag判断用户是否正确输入,若正确输入就改为false
		Scanner s =new Scanner(System.in);
		System.out.println("求在1到n之间能同时被2,3,7整除的第一个数");
		while(!flag) {
			System.out.println("求输入n的值");
			int n=s.nextInt();
			if(n>1){
				flag=true;
				for(int i=1;i<=n;i++) {	
					if(i%2==0&&i%3==0&&i%7==0){
						System.out.println("在1到"+n+"之间能同时被2,3,7整除的第一个数为: "+i);
						break;
						//break是跳出当前for循环,不会跳出外层的while循环,break简单理解为只跳出当前循环且只跳出一次
					}
					if(i==n){
						System.out.println("没有找到符合条件的值 ");	
					}
				}
			}else {
				System.out.println("输入有误,请重新输入");
			}
		}
	}
}

4.示例代码运行截图如下所示:

当找到符合条件的数时

在这里插入图片描述

当没有找到符合条件的数时

在这里插入图片描述

C.continue关键字

1.含义

结束当次循环,开启下一次循环。

注意:循环不会跳出!!!

2.语法

循环体写continue,switch里面用continue一般是没有效果的
但如果switch外面套了一层循环的话,可以使用break;
此时代表结束本次循环---->结束当前switch语句;然后开始下一次循环    

3.示例代码如下所示

package homework4;

import java.util.Scanner;

public class Demo {
	public static void main(String[] args) {
		 System.out.println("求出1到n之间的偶数的个数");
		 Scanner s=new Scanner(System.in);
		 System.out.println("请输入n的值: ");
		 int n=s.nextInt();
		 int evenCount=0;
		 //evenCount用来存储偶数的个数
		 for(int i=1;i<=n;i++) {
			 if(i%2!=0){
				 continue;
				 //如果为奇数,就结束当次循环,开启下一次循环
			 }
			 evenCount++;
		 }
		 System.out.println("1到"+n+"之间的偶数个数为: "+evenCount);
	}
}

4.示例代码运行截图如下所示:

在这里插入图片描述

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SSS4362

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值