选择结构if语句和switch语句的区别
Posted 敲不完的代码
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了选择结构if语句和switch语句的区别相关的知识,希望对你有一定的参考价值。
1.选择结构if语句格式及其使用
A:if语句的格式:
if(比较表达式1) { 语句体1; }else if(比较表达式2) { 语句体2; }else if(比较表达式3) { 语句体3; } ... else { 语句体n+1; }
B:执行流程:
首先计算比较表达式1看其返回值是true还是false,
如果是true,就执行语句体1,if语句结束。
如果是false,接着计算比较表达式2看其返回值是true还是false,
如果是true,就执行语句体2,if语句结束。
如果是false,接着计算比较表达式3看其返回值是true还是false,
如果都是false,就执行语句体n+1。
C:注意事项:最后一个else可以省略,但是建议不要省略,可以对范围外的错误值提示
下面看例子1:
import java.util.Scanner; public class Su{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); //键盘输入 while(true){ System.out.println("请您输入成绩"); //提示输入 int a = sc.nextInt(); //键盘输入用int类型接受 if( a > 100 | a < 0 ){ //死循环,方便测试 System.out.println("您输入的成绩有误"); }else if( a >= 90 && a < 100){ System.out.println("A等"); }else if( a >= 80 && a < 90){ System.out.println("B等"); }else if( a >= 70 && a < 80){ System.out.println("C等"); }else if( a >= 60 && a < 70){ System.out.println("D等"); }else if( a < 60){ System.out.println("E等"); }else{ System.out.println("您输入的成绩有误"); } } } }
例子2:
import java.util.Scanner; public class TextScanner{ public static void main(String[] args){ Scanner scanner = new Scanner(System.in); String str = scanner.nextLine(); int a = Integer.parseInt( str ); if(a >= 90){ System.out.println("A等"); } else if(a >= 80 && a < 90){ System.out.println("B等"); } else if(a >= 70 && a < 80){ System.out.println("C等"); } else if(a >= 60 && a < 70){ System.out.println("D等"); } scanner.close(); } }
注意:两个例子同为输出成绩,但是第一个例子可以在命令窗口直接输入命令查询;而第二个例子得一次一次的输入命令查询,注意区别
2.选择结构switch语句格式及其使用
A:switch格式:
switch(表达式) { case 值1: 语句体1; break; case 值2: 语句体2; break; … default: 语句体n+1; break; }
B:switch语句的格式解释
(基本数据类型,只要能提升为int的都可以,引用数据类型中的枚举(JDK1.5)和String(JDK1.7))
C:执行流程
先计算表达式的值
然后和case后面的匹配,如果有就执行对应的语句,否则执行default控制的语句
下面看例子:
import java.util.Scanner; public class Su{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); //键盘输入 while(true){ //死循环,方便测试 System.out.println("请您输入要转换的星期数"); //键盘录入提示 int week = sc.nextInt(); //键盘输入用int类型接受 switch( week ){ case 1: System.out.println("星期1"); break; case 2: System.out.println("星期2"); break; case 3: System.out.println("星期3"); break; case 4: System.out.println("星期4"); break; case 5: System.out.println("星期5"); break; case 6: System.out.println("星期6"); break; case 7: System.out.println("星期天"); break; default: System.out.println("您输入的数字有误,请重新输入"); } } } }
3:总结switch语句和if语句的各自使用场景
switch建议判断固定值的时候用
if建议判断区间或范围的时候用
用switch能做的,用if都能做,单反过来则不行
以上是关于选择结构if语句和switch语句的区别的主要内容,如果未能解决你的问题,请参考以下文章