package javabao; /** * 1.switch属于选择结构 *2. 语法 * switch(int或string的字面值或变量){ * java语句; * break; * java语句; * break; * } * 3.switch语句执行原理 * switch后面小括号当中的"数据"和case后面的数据一一进行匹配匹配成功的分支执行, * 按照自上而下的顺序依次执行 * 4.匹配成功的分支执行,分支当中最后有break语句的话,整个switch语句终止 * 5.匹配成功的分支执行,分支当中没有break语句的话,整个switch直接进入下一个分支执行(不进行匹配) * 这种现象叫做case穿透现象[提供break语句可以避免穿透] * 6.所有分支没有匹配成功,当有default的语句时,会执行default分支当中的程序 * 7.switch后面和case后面只能是int或者string类型的数据,不能探测其他类型. * byte,short,char也可以直接写到switch和case后面因为他们可以自动转换数据类型 *8.case可以合并 * */ public class Contents3 { public static void main(String[] agrs){ /** * 1判断一个成绩等级 * 2该成绩可以是个 *3必须采用swith语句来完成 * */ double results = 60.5; int result = (int)(results / 10); switch(result){ case 10: System.out.println("非常棒"); break; case 9: System.out.println("优秀"); break; case 8: System.out.println("良好"); break; case 7: System.out.println("一般"); break; case 6: System.out.println("较差"); break; case 5: case 4: case 3: case 2: case 1: case 0: System.out.println("非常差"); break; default: System.out.println("请正确输入你的成绩"); } /*使用switch写一个计算器系统 1.使用键盘输入 可以运算的运算符(+,-,*,/,%) */ java.util.Scanner s1 = new java.util.Scanner(System.in); System.out.println("欢迎使用本计算机系统"); System.out.print("请输入第一个数字:"); int operation =s1.nextInt(); System.out.print("请输入运算符(+,-,*,/,%):"); String operati = s1.next(); System.out.print("请输入第二个数字:"); int operat = s1.nextInt(); int sum = 0; switch(operati){ case "+": sum = operation + operat; break; case "-": sum = operation - operat; break; case "*": sum = operation * operat; break; case "/": sum = operation / operat; break; case "%": sum = operation % operat; break; default: System.out.println("出错!"); } System.out.println(operation + operati + operat + "=" + sum); } }