9. 流程控制语句(二)

举报
数据分析与统计学之美 发表于 2021/09/28 18:06:07 2021/09/28
【摘要】 Java系列第九课

1、switch语句

switch语句用于等值判断。当表达式与某一个case值完全匹配的时候,就会执行该case语句下面的代码,直到遇到break语句结束。

Ⅰ 语法结构如下:

在这里插入图片描述
上述switch中的表达式,支持以下几种类型:
在这里插入图片描述

Ⅱ switch语句需要注意的地方

  • 1)switch语句只有碰到break才会结束。否则会从上到下一直找break,直到找到了,才会结束。当switch流程控制语句中没有break,代码一直执行到switch最后也会结束。所以,每一个case后,不要忘记写break语句了。
  • 2)switch中的case标签不能重复。
  • 3)表达式类型 与 值类型 必须一致。(很重要)
  • 4)case标签可以有多个,default标签可以省略。
  • 5)支持标签堆叠。

Ⅲ 练习题1

在这里插入图片描述
if语句代码如下:

import java.util.Scanner;
public class Demo8 {
    	public static void main(String[] args) {
    		Scanner superman = new Scanner(System.in);
    		int num;
    		System.out.println("请输入号码");
    		num = superman.nextInt();
    		if (num == 0){
    			System.out.println("师傅的号");
    	}else if (num == 1){
    		System.out.println("蓉蓉的号");
    	}else if (num == 2){
    		System.out.println("黄老邪的号");
    	}else if (num == 3){
    		System.out.println("周伯通的号");
    	}else{
    		System.out.println("你输入的号码不正确,请输入0-3中任何一个号码");
    	}
		
	}
}

switch语句代码如下:

import java.util.Scanner;
public class Demo8 {
    	public static void main(String[] args) {
    		Scanner superman = new Scanner(System.in);
    		int num;
    		System.out.println("请输入号码");
    		num = superman.nextInt();
    		switch (num){
    		case 0:
			System.out.println("师傅的号码");
			break;    // 结束switch
		case 1:
			System.out.println("蓉蓉的号码");
			break;
		case 2:
			System.out.println("黄老邪的号码");
			break;
		case 3:
			System.out.println("周伯通的号码");
			break;
		default:
			System.out.println("您输入的有误,请输入0-3中的任何一个数");
			break;   
		}	
	}
}

Ⅳ 练习题2

在这里插入图片描述
具体月份对应的季节如下:
在这里插入图片描述
操作如下:

import java.util.Scanner;

public class Demo1{
    	public static void main(String[] args){
    		Scanner superman = new Scanner(System.in);
    		int a;
    		System.out.println("你想输入的月份:");
    		a = superman.nextInt();
    		if (a>=3 && a<6){
			System.out.println("春季");
		}else if (a>=6 && a<9){
			System.out.println("夏季");
		}else if (a>=9 && a<12){
			System.out.println("秋季");
		}else{
			System.out.println("冬季");
		}
	}
}

Ⅴ 练习题3

在这里插入图片描述
操作如下:

import java.util.Scanner;

public class Demo1{
    	public static void main(String[] args){
    		System.out.println("购物管理系统1.0版");
    		System.out.println("1.登录系统");
    		System.out.println("2.退出");
    		System.out.println("********************************");
    		Scanner superman = new Scanner(System.in);
		int a;
		System.out.println("请选择输入数字:");
		a = superman.nextInt();
		if (a == 1){
			System.out.println("欢迎来到:购物管理系统1.0版");
			System.out.println("********************************");
			System.out.println("1.客户信息管理");
			System.out.println("2.购物结算");
			System.out.println("3.真情回馈");
			System.out.println("4.注销");
		}else{
			System.out.println("退出登录");
		}
	}
}

2、多重if 和 switch 的区别

  • 1)switch只能进行等值的条件判断;多重if,任何判断都可以(多用于区间判断)
  • 2)等值判断,switch效率高。
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。