格式:
分支结构之二:switch-case 格式 switch (表达式){ case常量: 执行语句 //break;可省了 case 常量2: 执行语句; //break; 可省了 ... dfault: 执行语句; } 说明: 根据Switch表达式中的值。依次匹配各个case中的常量,一旦匹配成功,则进入case结构中,调其执行语句 当调用完执行语句以后,则仍往下执行其他case里的语句,直到遇到break关键字或者switch - case结构末尾止结束; break,可以使用在switch-case结构中,表示一旦执行到此关键字,就跳出switch-case结构 switch结构中表达式,只能是如下六种数据类型之一 byte 、short 、char 、int 、枚举类型(JDK1.5新增)、String类型(JDK7.0新增)
示例
public class HelloWorld { public static void main(String[] args) { int number = 2; switch (number){ case 0: System.out.println("zero"); break; case 2: System.out.println("one"); break;//执行后会打断后续执行流程 case 3: System.out.println("two"); break; default: System.out.println("other"); } } } 测试 one
示例2
public class HelloWorld { public static void main(String[] args) { int number = 2; switch (number){ case 0: System.out.println("zero"); //break; case 2: System.out.println("one"); //break; case 3: System.out.println("two"); //break; default: System.out.println("other"); } } } 测试 one two other
综合代码测试
import java.util.Scanner; public class HelloWorld { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int number = 2; switch (number) { case 0: System.out.println("zero"); break; case 2: System.out.println("one"); break; case 3: System.out.println("two"); break; default: System.out.println("other"); } // 获取char 类型变量,Scanner没有相关方法,只能获取一个字符串 System.out.println("请输入您的性别:"); String gender = scan.next(); char genderChar = gender.charAt(0);//转换成char类型的操作;获取索引为0 为真上的字符 System.out.println(genderChar); System.out.println("请输入字符:"); String Char = scan.next(); //char cha = Char.charAt(0); switch (Char) { 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"); } System.out.println("请输入成绩:"); int score = scan.nextInt(); switch (score/10) {//对10 取模 case 0: //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; case 8: //System.out.println("及格"); //break; case 9: //System.out.println("及格"); //break; case 10: System.out.println("及格"); break; default: System.out.println("输入的不正确"); } System.out.println("请输入你家狗狗年龄:"); int dogage = scan.nextInt(); if (dogage < 0) { System.out.println("狗狗未出生"); } else if (dogage <= 2) { System.out.println(dogage * 10.2); } else { System.out.println((dogage-2)*5+2*10.2); } System.out.println("请输入月份"); int month = scan.nextInt(); System.out.println("请输入几号:"); int day = scan.nextInt(); int sumdays = 0; switch (month){ case 12: sumdays += 30; case 11: sumdays += 31; case 10: sumdays += 30; case 9: sumdays += 31; case 8: sumdays += 31; case 7: sumdays += 30; case 6: sumdays += 31; case 5: sumdays += 30; case 4: sumdays += 31; case 3: sumdays += 28; case 2: sumdays += 31; case 1: sumdays += day; default: System.out.println("是今年第"+sumdays+"天"); } } } 测试 one 请输入您的性别: n n 请输入字符: a A 请输入成绩: 60 及格 请输入你家狗狗年龄: 8 50.4 请输入月份 9 请输入几号: 17 是今年第260天