首页 > 其他分享 >Switch 分支结构

Switch 分支结构

时间:2023-08-13 14:23:13浏览次数:28  
标签:case Scanner System break Switch println 分支 out 结构

Switch 分支结构

基本结构

switch(表达式){

​ case: 常量1:语句块1;

​ case: 常量2:语句块2;

​ case: 常量3:语句块3;

​ ......

​ default:

​ default 语句块;

​ break;

}

  1. 表达式应当是一个具体的值
  2. break表示退出
  3. 没有一个匹配case后的值,自动执行defaul;

流程图

image-20230813120559566

案例

import java.util.Scanner;
public class Switch{
	public static void main(String[] args) {
		/*案例:Switch01.java
		请编写一个程序,该程序可以接收一个字符,比如:a,b,c,d,e,f,g
		a 表示星期一,b 表示星期二 …
		*/
		Scanner input = new Scanner(System.in);
		System.out.println("输入一个字符");
		char s = input.next().charAt(0);
		switch(s){
			case 'a': 
				System.out.println("星期一");
				break;
			case 'b': 
				System.out.println("星期二");
				break;
			case 'c': 
				System.out.println("星期三");
				break;
			case 'd': 
				System.out.println("星期四");
				break;
			case 'e': 
				System.out.println("星期五");
				break;
			case 'f': 
				System.out.println("星期六");
				break;
			case 'g': 
				System.out.println("星期天");
				break;
			default: System.out.println("输入有误");
		}
	}
}

注意事项

  1. switch(表达式),表达式中的数据类型应该和case后的常量类型保持一致,或是可以进行自动类型转换的类型
  2. 表达式中的返回值必须是(byte,short,int,char,enum[枚举],String)
  3. case中值必须是常量而不能是变量
  4. default是可选的
  5. break的作用是跳出switch,没有写break则顺序执行之后的case后的代码块,直到遇到break语句或执行到最后一个语句(default也会执行)

课后习题

import java.util.Scanner;
public class Switch{
	public static void main(String[] args) {
		/*1) 使用 switch 把小写类型的 char 型转为大写(键盘输入)。
		只转换 a, b, c, d, e. 其它的输出 "other"。
		*/
		Scanner input = new Scanner(System.in);
		System.out.println("输入一个字符");
		char c = input.next().charAt(0);
		switch(c){
			case 'a':
				System.out.println("A");
				break;
			case 'b':
				System.out.println("B");
				break;
			case 'c':
				System.out.println("C");
				break;
			case 'd':
				System.out.println("D");
				break;
			case 'e':
				System.out.println("E");
				break;
			default: System.out.println("other");
		}
        /* 2) 对学生成绩大于 60 分的,输出"合格"。低于 60 分的,输出"不合格"。
		(注:输入的成绩不能大于 100), 提示 成绩/60*/
        Scanner input = new Scanner(System.in);
		System.out.println("输入你的成绩");
		int score = input.nextInt();
		switch(score / 60){
			case 0 :
				System.out.println("不合格");
				break;
			case 1 :
				System.out.println("合格");
				break;
			default :
				System.out.println("输入");
	}
         /* 3) 根据用于指定月份,打印该月份所属的季节。3,4,5 春季 
		6,7,8 夏季 9,10,11 秋季 12, 1, 2 冬季 [课堂练习, 提示 使
		用穿透 ]
		*/
        Scanner input = new Scanner(System.in);
		System.out.println("输入月份");
		int mouth = input.nextInt();
		switch(mouth){
			case 1 :
			case 2 :
			case 3 :
				System.out.println("春季");
				break;
			case 4 :
			case 5 :
			case 6 :
				System.out.println("夏季");
				break;
			case 7 :
			case 8 :
			case 9 :
				System.out.println("秋季");
				break;
			case 10 :
			case 11 :
			case 12 :
				System.out.println("冬季");
				break;
			default :
				System.out.println("输入有误");
		}

}

标签:case,Scanner,System,break,Switch,println,分支,out,结构
From: https://www.cnblogs.com/ygcDiary/p/17626516.html

相关文章

  • LeetCode 7022——熟悉TreeSet数据结构及常用方法的使用
    LeetCode7022.限制条件下元素之间的最小绝对差题目描述:给你一个下标从 0 开始的整数数组 nums 和一个整数 x 。请你找到数组中下标距离至少为 x 的两个元素的 差值绝对值 的 最小值 。换言之,请你找到两个下标 i 和 j ,满足 abs(i-j)>=x 且 abs(nums[i......
  • Redis(九)五种数据类型的底层结构
    Redis(九)五种数据类型的底层结构1string​ string是redis中最常见的数据类型基本编码方式是RAW,基于简单动态字符串(SDS)实现,存储上限为512MB,此时的objecthead和SDS是两个独立的空间,是通过redisObject的buf指针指向的实际存储的SDS如果存储的SDS长度小于44字节,则采用EMBST......
  • 控制结构和函数
    第2章控制结构和函数2.1条件表达式在scala中if/else表达式有返回值,返回值是if或者else最后一行的值。例如:if(x>0)1else-1上述表达式的返回值是1或-1,具体是哪一个取决于x的值。if表达式的类型推断,由于if表达式是有值的,而if和else子句的值类型可能不同,此时if表达式的值......
  • PyQt-GUI程序基本结构解析
    1.导入包与模块fromPyQt5.Qtimport*importsys创建一个应用程序对象app=QApplication(sys.argv)创建控件,设置控件window=QWidget()window.show()应用程序执行,进入到消息循环sys.exit(app.exec_())程序流程解析fromPyQt5.Qtimport*,先导入PyQt5所需......
  • Delphi 2010 新增功能之: IOUtils 单元(6): TPath(结构体) 的方法与属性
    以后路径相关的处理,用IOUtils.TPath就很方便了.//较常用的方法:TPath.GetTempPath;         {获取临时文件夹路径}TPath.GetTempFileName;       {获取一个临时文件名}TPath.GetPathRoot();        {提取盘符,如:c:......
  • JVM之内存结构
    从整体上看JVM的内存分为两大类:线程私有的和线程共享的。线程私有:程序计数器虚拟机栈本地方法栈线程共享:堆区方法区程序计数器主要作用就是记住下一条JVM指令的执行地址。因为在多线程的情况下,同一个时间单核CPU只会执行一个线程中的方法,也就是说CPU会不断切换执行的......
  • git创建远程分支
    gitclonehttps://XXXXXgitbranch//查看当前本地分支(只有master)gitcheckout-bquery_vip//在本地创建query_vip分支gitpushoriginquery_vip//把query_vip分支推送到远程gitbranch--set-upstream-to=origin/query_vip//将本地query_vip分支关联......
  • 考研数据结构——每日一题[Dijkstra求最短路]
    849.Dijkstra求最短路I给定一个n个点m条边的有向图,图中可能存在重边和自环,所有边权均为正值。请你求出1号点到n号点的最短距离,如果无法从1号点走到n号点,则输出−1。输入格式第一行包含整数n和m。接下来m行每行包含三个整数x,y,z,表示存在一条从点x到点......
  • 2308-习题 分支循环,goto语句
    1.习题3.1.输入三个整数,从大到小输出这三个数 1#define_CRT_SECURE_NO_WARNINGS2#include<stdio.h>3intmain()4{56inta=0;7intb=0;8intc=0;9inttemp=0;10scanf("%d%d%d",&a,&b,&c);11......
  • pandas-基础数据结构
    pandas-基础数据结构目录pandas-基础数据结构数据结构Series创建Series常用操作索引缺失数据添加和修改删除DataFrame创建DataFrame常用操作索引和切片添加和修改索引后修改删除参考资料数据结构Pandas的主要数据结构是Series(一维数据)与DataFrame(二维数据)⽆论是numpy中的NAN......