分支结构

分支结构

一、if语句

(1)if语句格式1

格式:

if(关系表达式){
    语句体;
}

执行流程:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-plQT46jf-1615184258088)(07_分支结构/if语句1.jpg)]

  1. 首先计算关系表达式的值。
  2. 如果关系表达式的值为true就执行语句体。
  3. 如果关系表达式的值为false就不执行语句体。
  4. 继续执行后面的语句。
if语句格式1 示例1:
  1. 需求:输入两个数,代表“斗地主”游戏中的牌的点数,分别用变量a和b接收。如果 a 和 b相等,就输出“你摸了一个对子”。

  2. 代码:

    	public static void main(String[] args) {
    		//需求:输入两个数代表“斗地主”游戏中的牌的点数,分别用变量a和b接收。如果 a 和 b相等,就输出“你摸了一个对子”。
    		int a = 0;
    		int b = 0;
    		Scanner scanner = new Scanner(System.in);
    		System.out.print("请输入2个整数,用空格分隔:");
    		a = scanner.nextInt();
    		b = scanner.nextInt();
    		if(a == b) {
    			System.out.println("你摸了一个对子");
    		}
    		
    		System.out.println("无论if是否成立,后面的代码都会执行");
    	}
    
if语句格式1 示例2:
  1. 需求:输入3个数,分别用变量a,b,c接收。如果a > b,输出"a > b",如果a > c,输出“a > c”。

  2. 代码:

    	public static void main(String[] args) {
    		// 需求:输入3个数,分别用变量a,b,c接收。如果a > b,输出"a > b",如果a > c,输出“a > c”。
    		int a = 0;
    		int b = 0;
    		int c = 0;
    		Scanner scanner = new Scanner(System.in);
    		System.out.print("请输入3个数,用空格隔开");
    		a = scanner.nextInt();
    		b = scanner.nextInt();
    		c = scanner.nextInt();
    		if(a > b) {
    			System.out.println("a > b");
    		}
    		
    		if(a > c) {
    			System.out.println("a > c");
    		}
    		System.out.println("无论if是否成立,后面的代码都会执行!");
    	}
    
if语句格式1 示例3:
  1. 需求:有一个变量num,初始值是23。输入一个整数,如果输入的数字大于23,将num改为输入的数。

  2. 代码:

    	public static void main(String[] args) {
    		//需求:有一个变量num,初始值是23。输入一个整数,如果输入的数字大于23,将num改为输入的数。
    		int num = 23;
    		Scanner scanner = new Scanner(System.in);
    		System.out.print("请输入一个整数:");
    		int temp = scanner.nextInt();
    		if(temp > num) {
    			num = temp;
    		}
    		System.out.println("num的值是:" + num);
    	}
    
if语句格式1总结
  1. if 后面的小括号里放的是一个 结果为true或者false的表达式。----通常是关系表达式 或者 逻辑表达式。
  2. if条件的值为true,执行后面大括号里面的语句。—大括号里可以写一条或多条语句。
  3. 无论if是否成立,if语句前面的代码、if语句后面的代码都会执行。

(2)if语句格式2

格式:

if(关系表达式){
    语句体1;
}else{
    语句体2;
}

执行流程:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1uvqWfd0-1615184258096)(07_分支结构/if语句2.jpg)]

  1. 首先计算判定条件的值(往往是关系表达式或逻辑表达式)。
  2. 如果判定条件的值为true,执行if语句体1,否则执行语句体2。
  3. 继续执行后面的语句。
if语句格式2 示例1:
  1. 需求:输入2个整数,分别用变量a和b接收数据,输出a和b中的最大值。—不使用三目运算符。

  2. 代码:

    	public static void main(String[] args) {
    		//需求:输入2个整数,分别用变量a和b接收数据,输出a和b中的最大值。---不使用三目运算符。
    		int a = 0;
    		int b = 0;
    		int max = 0;
    		Scanner scanner = new Scanner(System.in);
    		System.out.print("请输入2个整数,用空格进行分隔:");
    		a = scanner.nextInt();
    		b = scanner.nextInt();
    		if(a > b) {
    			max = a;
    		}else {
    			max = b;
    		}
    		System.out.println("最大值是:" + max);
    	}
    
if语句格式2 示例2:
  1. 需求:输入一个整数,判断输入的数是不是偶数,如果是偶数,输出"您输入的是一个偶数",如果不是偶数,输出"您输入的是一个奇数"。

  2. 代码:

    	public static void main(String[] args) {
    		//需求:输入一个整数,判断输入的数是不是偶数,如果是偶数,输出"您输入的是一个偶数",如果不是偶数,输出"您输入的是一个奇数"。
    		int num = 0;
    		Scanner scanner = new Scanner(System.in);
    		System.out.print("请输入一个整数:");
    		num = scanner.nextInt();
    		//偶数的判定条件:对2求余,余数是否是0
    		if(num % 2 == 0) {
    			System.out.println("您输入的是一个偶数");
    		}else {
    			System.out.println("您输入的是一个奇数");
    		}
    	}
    
if语句格式2 示例3:
  1. 需求:输入一个代表年份的数字,判断是不是闰年。(闰年的判断条件是:能被400整除,或者能被4整除且不能被100整除)。如果是闰年,输处"xxx年是闰年!",如果不是闰年,输出"xxx年是平年!"。

  2. 代码:

    	public static void main(String[] args) {
    		//需求:输入一个代表年份的数字,判断是不是闰年。(闰年的判断条件是:能被400整除,或者能被4整除且不能被100整除)
    		//如果是闰年,输处"xxx年是闰年!"
    		//如果不是闰年,输出"xxx年是平年!"
    		int year = 0;
    		Scanner scanner = new Scanner(System.in);
    		System.out.print("请输入一个代表年份的数字:");
    		year = scanner.nextInt();
    		if((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0)) {
    			System.out.println(year + "年是闰年!");
    		}else {
    			System.out.println(year + "年是平年!");
    		}
    	}
    
if语句格式2 示例4:
  1. 需求:输入一个整数,判断这个数字是不是7的倍数。如果是7的倍数,输出"过",否则输出数字本身。

  2. 代码:

    	public static void main(String[] args) {
    		//需求:输入一个整数,判断这个数字是不是7的倍数。如果是7的倍数,输出"过",否则输出数字本身。
    		int num = 0;
    		Scanner scanner = new Scanner(System.in);
    		System.out.print("请输入一个整数:");
    		num = scanner.nextInt();
    		if(num % 7 == 0) {
    			System.out.println("过");
    		}else {
    			System.out.println(num);
    		}
    	}
    
if语句格式2 示例5:
  1. 需求:输入一个100以内的整数,判断这个数字里面是不是包含7。个位为7或者是十位为7。如果包含7输出“过”,如果不包含7,直接输出数字本身。

  2. 代码:

    	public static void main(String[] args) {
    		//需求:输入一个100以内的整数,判断这个数字里面是不是包含7。个位为7或者是十位为7。
    		//如果包含7输出“过”,如果不包含7,直接输出数字本身。
    		int num = 0;
    		Scanner scanner = new Scanner(System.in);
    		System.out.print("请输入一个100以内的整数:");
    		num = scanner.nextInt();
    		if(num % 10 == 7 || num / 10 == 7) {
    			System.out.println("过");
    		}else {
    			System.out.println(num);
    		}
    	}
    
if语句格式2 示例6:
  1. 需求:输入一个100以内的整数,如果这个数字包含7或者是7的倍数,输出"过",否则输出数字本身。

  2. 代码:

    	public static void main(String[] args) {
    		//需求:输入一个100以内的整数,如果这个数字包含7或者是7的倍数,输出"过",否则输出数字本身。
    		int num = 0;
    		Scanner scanner = new Scanner(System.in);
    		System.out.print("请输入一个100以内的整数:");
    		num = scanner.nextInt();
    		if(num % 7 == 0 || (num % 10 == 7 || num / 10 == 7)) {
    			System.out.println("过");
    		}else {
    			System.out.println(num);
    		}
    	}
    
if语句格式2总结
  1. if 后面的小括号里放的是一个 结果为true或者false的表达式。----通常是关系表达式 或者 逻辑表达式。
  2. if条件的值为true,执行if后面大括号里面的语句。—大括号里可以写一条或多条语句。
  3. if条件的值为false,执行else后面大括号里面的语句。—大括号里可以写一条或多条语句。
  4. 无论if是否成立,if语句前面的代码、else语句后面的代码都会执行。

(3)if语句格式3

格式:

if(条件表达式1){
    语句体1;
}else if(条件表达式2){
    语句体2;
}else if(条件表达式3){
    语句体3;
}
...
 else{
    语句体n+1;   
}

执行流程:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TU1Xz1BR-1615184258107)(07_分支结构/if语句3.jpg)]

  1. 首先计算条件表达式1的值。
  2. 如果条件表达式1的结果为true,执行语句体1。如果条件表达式1的值为false,就计算条件表达式2的值。
  3. 如果条件表达式2的结果为true,执行语句体2。如果条件表达式2的值为false,就计算条件表达式3的值。
  4. 如果没有任何条件表达式的值为true,则执行语句体n+1。
if语句格式3 示例1:
  1. 需求:输入一个整数,判断是正数、负数还是0。如果输入的数大于0,输出"您输入的是一个正数",如果输入的数小于0,输出"您输入的是一个负数",否则输出"您输入的是0"。

  2. 代码:

    	public static void main(String[] args) {
    		//需求:输入一个整数,判断是正数、负数还是0。
    		//如果输入的数大于0,输出"您输入的是一个正数",如果输入的数小于0,输出"您输入的是一个负数",否则输出"您输入的是0"。
    		int num = 0;
    		Scanner scanner = new Scanner(System.in);
    		System.out.print("请输入一个整数:");
    		num = scanner.nextInt();
    		if(num > 0) {
    			System.out.println("您输入的是一个正数");
    		}else if(num < 0) {
    			System.out.println("您输入的是一个负数");
    		}else {
    			System.out.println("您输入的是0");
    		}
    	}
    
if语句格式3 示例2:
  1. 需求:输入一个1~7之间的整数(含1和7),如果输入的是1,就输出"今天是星期一",如果输入的是2,就输出"今天是星期二",…,如果输入的是7,就输出"今天是星期天"。如果输入的是其他数字,就输出"输入的数字非法"。

  2. 代码:

       	public static void main(String[] args) {
       		//需求:输入一个1~7之间的整数(含1和7),如果输入的是1,就输出"今天是星期一",
       		//如果输入的是2,就输出"今天是星期二",...,如果输入的是7,就输出"今天是星期天"。
       		//如果输入的是其他数字,就输出"输入的数字非法"
       		int day = 0;
       		Scanner scanner = new Scanner(System.in);
       		System.out.print("输入一个1~7之间的整数(含1和7):");
       		day = scanner.nextInt();
       		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 if(day == 7) {
       			System.out.println("今天是星期日");
       		}else {
       			System.out.println("输入的数字非法");
       		}
       	}
    
if语句格式3 示例3:
  1. 需求:根据考试成绩计算应该给与什么奖励:考试100分,奖励一架航拍遥控飞机;考试90分99分,奖励游乐场玩一次;考试80分89分,奖励玩具赛车一辆;考试70分~79分,奖励玩手机30分钟;考试70分以下,挨揍一顿。

  2. 代码:

     	public static void main(String[] args) {
    		//需求:根据考试成绩计算应该给与什么奖励:
    	//考试100分,奖励一架航拍遥控飞机;考试90分~99分,奖励游乐场玩一次;
    		//考试80分~89分,奖励玩具赛车一辆;考试70分~79分,奖励玩手机30分钟;考试70分以下,挨揍一顿。
    		int score = 0;
    		Scanner scanner = new Scanner(System.in);
    		System.out.print("请输入考试成绩:");
    		score = scanner.nextInt();
    		if(score == 100) {
    			System.out.println("考试" + score + "分,奖励一架航拍遥控飞机!");
    		}else if(score >= 90) {
    			System.out.println("考试" + score + "分,奖励游乐场玩一次!");
    		}else if(score >= 80) {
    			System.out.println("考试" + score + "分,奖励玩具赛车一辆!");
    		}else if(score >= 70) {
    			System.out.println("考试" + score + "分,奖励玩手机30分钟!");
    		}else {
    			System.out.println("考试" + score + "分,挨揍一顿!");
    		}
    	}  
    
if语句格式3 示例4:
  1. 某体育彩票中心推出优惠充值活动,充值50元送20元,充值100元送50元,充值500元送300元。如果账户余额是26元,请输入一个充值金额,计算最终账户余额。

  2. 代码:

    	public static void main(String[] args) {
    		//某体育彩票中心推出优惠充值活动,充值50元送20元,充值100元送50元,充值500元送300元。
    		//如果账户余额是26元,请输入一个充值金额,计算最终账户金额。
    		int money = 26;
    		Scanner scanner = new Scanner(System.in);
    		System.out.print("请输入充值金额:");
    		int num = scanner.nextInt();
    		if(num >= 500) {
    			money += (num + 300); 
    		}else if(num >= 100) {
    			money += (num + 50);
    		}else if(num >= 50) {
    			money += (num + 20);
    		}else {
    			money += num;
    		}
    		System.out.println("充值成功,当前账户余额是:" + money);
    	}
    
if语句格式3 示例5:
  1. 出租车计费标准为:3公里以内10元,3公里以后每1公里加2元,超过15公里,每1公里加3元。请输入一个最终公里数,计算应付的车费。

  2. 代码:

    	public static void main(String[] args) {
    		//出租车计费标准为:3公里以内10元,3公里以后每1公里加2元,超过15公里,每1公里加3元。
    		//请输入一个最终公里数,计算应付的车费。
    		int distance = 0;
    		int pay = 0;
    		Scanner scanner = new Scanner(System.in);
    		System.out.print("请输入里程数:");
    		distance = scanner.nextInt();
    		if(distance > 15) {
    			pay = (distance - 15) * 3 + (15 - 3) * 2 + 10;
    		}else if(distance > 3) {
    			pay = (distance - 3) * 2 + 10;
    		}else {
    			pay = 10;
    		}
    		System.out.println("您的乘车里程是" + distance + "公里,费用是" + pay + "元。");
    	}
    
if语句格式3 示例6:
  1. 出租车计费标准为:3公里以内10元,3公里以后每1公里加2元,超过15公里,每1公里加3元,行驶过程中每等待5分钟,需要增加2元(等待12分钟,加4元,非6元)。请输入一个最终公里数和行驶中的等待时间,计算应付的车费。

  2. 代码:

    	public static void main(String[] args) {
    		//出租车计费标准为:3公里以内10元,3公里以后每1公里加2元,超过15公里,每1公里加3元,
    		//行驶过程中每等待5分钟,需要增加2元(等待12分钟,加4元,非6元)。
    		//请输入一个最终公里数和行驶中的等待时间,计算应付的车费。
    		int distance = 0;
    		int waitingTime = 0;
    		int pay = 0;
    		Scanner scanner = new Scanner(System.in);
    		System.out.print("请输入里程数:");
    		distance = scanner.nextInt();
    		System.out.print("请输入行驶中的等待时间:");
    		waitingTime = scanner.nextInt();
    		if(distance > 15) {
    			pay = (distance - 15) * 3 + (15 - 3) * 2 + 10;
    		}else if(distance > 3) {
    			pay = (distance - 3) * 2 + 10;
    		}else {
    			pay = 10;
    		}
    		pay += (waitingTime / 5) * 2;
    		System.out.println("您的乘车里程是" + distance + "公里,行驶中的等待时长是" + waitingTime + "分钟,费用是" + pay + "元。");
    	}
    
if语句格式3总结
  1. 首先计算条件表达式1的值。
  2. 如果条件表达式1的结果为true,执行语句体1。如果条件表达式1的值为false,就计算条件表达式2的值。
  3. 如果条件表达式2的结果为true,执行语句体2。如果条件表达式2的值为false,就计算条件表达式3的值。
  4. 如果没有任何条件表达式的值为true,则执行语句体n+1。

(4)if语句总结

  1. if语句是编程中最常用的语句。
  2. 无论是哪种if语句格式,判断条件都是 条件表达式或者逻辑表达式。
  3. 要学会根据情况分析使用哪种if语句格式。

二、switch…case语句

switch…case分支语句,也被称为多路分支语句。

switch本身的含义是开关。在Java中switch…case语句很像生活中的开关,按不同的开关按钮,有不同的效果。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qzOyFJWD-1615184258130)(07_分支结构/开关.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sAXQ6g5o-1615184258135)(07_分支结构/开关2.jpg)]

(1)switch…case的语法格式

switch(表达式){
    case1:
        语句体1;
        break;
    case2:
        语句体2;
        break;
    case3:
        语句体3;
        break;
    ...
    default:
        语句体n+1;
        break;  
}

(2)switch…case的执行流程

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YF05012S-1615184258141)(07_分支结构/switch…case.jpg)]

  1. 计算switch表达式的值。注意:与if语句不同,不在是true和false,而是数值、字符、字符串等。
  2. 表达式的值与某case的值一样时,执行对应case中的语句体。
  3. break用于结束switch语句,继续执行switch语句后面的代码。
  4. 如果没有任何一个case的值和表达式的值一致,执行default对应的语句体。default表示其他情况,即除了罗列的case之外的所有情况。

(3)switch…case示例:

switch…case示例1:
  1. 需求:输入一个1~7之间的整数(含1和7),如果输入的是1,就输出"今天是星期一",如果输入的是2,就输出"今天是星期二",…,如果输入的是7,就输出"今天是星期天"。如果输入的是其他数字,就输出"输入的数字非法"。(使用switch…case来实现。)

  2. 代码:

    	public static void main(String[] args) {
    		//需求:输入一个1~7之间的整数(含1和7),如果输入的是1,就输出"今天是星期一",
    		//如果输入的是2,就输出"今天是星期二",...,如果输入的是7,就输出"今天是星期天"。
    		//如果输入的是其他数字,就输出"输入的数字非法"。(使用switch..case来实现。)
    		int day = 0;
    		Scanner scanner = new Scanner(System.in);
    		System.out.print("请输入1~7之间的数字(含1和7):");
    		day = scanner.nextInt();
    		switch(day) {
    		case 1:
    			System.out.println("今天是星期一。");
    			break;
    		case 2:
    			System.out.println("今天是星期二。");
    			break;
    		case 3:
    			System.out.println("今天是星期三。");
    			break;
    		case 4:
    			System.out.println("今天是星期四。");
    			break;
    		case 5:
    			System.out.println("今天是星期五。");
    			break;
    		case 6:
    			System.out.println("今天是星期六。");
    			break;
    		case 7:
    			System.out.println("今天是星期天。");
    			break;
    		default:
    			System.out.println("输入的数字非法。");
    			break;
    		}
    	}
    
switch…case示例2:
  1. 豆瓣电影中有很多分类,比如:正在热映、每周排行榜、北美排行榜、国产排行榜、高分榜等。根据用户输入的字符串,输出对应的榜单名称。hot代表正在热映、weekly代表每周排行榜、us代表北美排行榜、china代表国产排行榜、highScore代表高分排行榜,输入其他内容,输出"输入有误!"。

  2. 代码:

    	public static void main(String[] args) {
    		//豆瓣电影中有很多分类,比如:正在热映、每周排行榜、北美排行榜、国产排行榜、高分榜等。
    		//根据用户输入的字符串,输出对应的榜单名称。hot代表正在热映、weekly代表每周排行榜、
    		//us代表北美排行榜、china代表国产排行榜、highScore代表高分排行榜,输入其他内容,输出"输入有误!"。
    		String category = "";
    		Scanner scanner = new Scanner(System.in);
    		System.out.print("请输入分类:");
    		category = scanner.nextLine();
    		switch(category) {
    		case "hot":
    			System.out.println("正在热映");
    			break;
    		case "weekly":
    			System.out.println("每周排行榜");
    			break;
    		case "us":
    			System.out.println("北美排行榜");
    			break;
    		case "china":
    			System.out.println("国产排行榜");
    			break;
    		case "highScore":
    			System.out.println("高分排行榜");
    			break;
    		default:
    			System.out.println("输入有误!");
    			break;
    		}
    	}
    
switch…case示例3:
  1. 需求:从键盘输入一个代表月份的数字,根据输入的结果,输出这个月有多少天(假定是平年)?例如:1月31天,2月28天,3月31天…

  2. 代码:

    	public static void main(String[] args) {
    		//需求:从键盘输入一个代表月份的数字,根据输入的结果,输出这个月有多少天(假定是平年)?
    		//例如:1月31天,2月28天,3月31天..
    		int month = 0;
    		Scanner scanner = new Scanner(System.in);
    		System.out.print("请输入一个月份:");
    		month = scanner.nextInt();
    		switch(month) {
    		case 1:
    			System.out.println(month + "月有31天。");
    			break;
    		case 2:
    			System.out.println(month + "月有28天。");
    			break;
    		case 3:
    			System.out.println(month + "月有31天。");
    			break;
    		case 4:
    			System.out.println(month + "月有30天。");
    			break;
    		case 5:
    			System.out.println(month + "月有31天。");
    			break;
    		case 6:
    			System.out.println(month + "月有30天。");
    			break;
    		case 7:
    			System.out.println(month + "月有31天。");
    			break;
    		case 8:
    			System.out.println(month + "月有31天。");
    			break;
    		case 9:
    			System.out.println(month + "月有30天。");
    			break;
    		case 10:
    			System.out.println(month + "月有31天。");
    			break;
    		case 11:
    			System.out.println(month + "月有30天。");
    			break;
    		case 12:
    			System.out.println(month + "月有31天。");
    			break;
    		default:
    			System.out.println("输入的月份非法。");
    			break;
    		}
    	}
    

switch…case语句中,switch后面的表达式的值是一个数值或者字符或者字符串。

表达式的值对应哪个case,就跳转到对应的case去执行

如果没有任何一个case和表达式的值对应,就执行default对应的语句体。default一般写在所有case的后面。

default可以省略不写,相当于不处理其他情况。

(4)break关键字

break关键字有2个用途:

  1. 用于switch…case语句中的case语句块里,作用是结束switch的执行。
  2. 用于循环结构,结束循环。—循环的时候讲。

case中也可以不写break,不写break的话,switch不会结束执行,而是顺序往下执行代码,直到遇到break结束switch语句(或者顺序执行完整个switch…case语句)。

除非特殊需求需要省去break,否则每个case都要写上break。

break示例1:
  1. 需求:从键盘输入一个代表月份的数字,根据输入的结果,输出这个月有多少天(假定是平年)?例如:1月31天,2月28天,3月31天…

  2. 代码:

    	public static void main(String[] args) {
    		//需求:从键盘输入一个代表月份的数字,根据输入的结果,输出这个月有多少天(假定是平年)?
    		//例如:1月31天,2月28天,3月31天..
    		int month = 0;
    		Scanner scanner = new Scanner(System.in);
    		System.out.print("请输入一个月份:");
    		month = scanner.nextInt();
    		switch(month) {
    		case 1:
    		case 3:
    		case 5:
    		case 7:
    		case 8:
    		case 10:
    		case 12:
    			System.out.println(month + "月有31天。");
    			break;
    		case 2:
    			System.out.println(month + "月有28天。");
    			break;
    		case 4:
    		case 6:
    		case 9:
    		case 11:
    			System.out.println(month + "月有30天。");
    			break;
    		default:
    			System.out.println("输入的月份非法。");
    			break;
    		}
    	}
    
break示例2:
  1. 需求:从键盘输入一个代表月份的数字,根据输入的结果,判断这个月份是什么季节。春季(35)、夏季(68)、秋季(911)、冬季(122)。

  2. 代码:

    	public static void main(String[] args) {
    		//需求:从键盘输入一个代表月份的数字,根据输入的结果,判断这个月份是什么季节。
    		//春季(3~5)、夏季(6~8)、秋季(9~11)、冬季(12~2)。
    		int month = 0;
    		Scanner scanner = new Scanner(System.in);
    		System.out.print("请输入一个月份:");
    		month = scanner.nextInt();
    		switch(month) {
    		case 3:
    		case 4:
    		case 5:
    			System.out.println(month + "月属于春季");
    			break;
    		case 6:
    		case 7:
    		case 8:
    			System.out.println(month + "月属于夏季");
    			break;
    		case 9:
    		case 10:
    		case 11:
    			System.out.println(month + "月属于秋季");
    			break;
    		case 12:
    		case 1:
    		case 2:
    			System.out.println(month + "月属于冬季");
    			break;
    		default:
    			System.out.println("您输入的月份有误!");
    			break;
    		}
    	}
    

case连写的情况适用于多个case执行同样的代码。即省略break,不结束switch,让代码继续往下执行。

其他情况下,每个case都要有自己单独的代码和break

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8huAv2XB-1615184258151)(07_分支结构/switch…case2.jpg)]

(5)switch…case总结

  1. switch…case语句和if语句作用一样,都是实现分支。
  2. swicth…case语句中通过break关键字结束switch的执行。
  3. switch中表达式的值决定了进入哪个case执行。
  4. 没有对应的case就执行default,default一般写在所有case后面。

三、分支结构总结

在Java语言中,分支结构一共有2种:if语句和switch…case语句。

if语句有3种书写格式:if、if…else、if…else if…else if…else

无论哪种if格式,if后面表达式的值必须是一个boolean值,即true或false。

switch…case语句是多路分支,根据switch的值,决定进哪个case执行代码。没有对应的case就执行default。

break用于结束switch的执行。

虽然可以省略break,但要慎重。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值