Switch分支结构如何优化为更高效的长尾关键词?

2026-05-22 07:271阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计651个文字,预计阅读时间需要3分钟。

Switch分支结构如何优化为更高效的长尾关键词?

多选选择:switch语句 + 在处理多个选项时,使用多个else/if语句会使结构显得很冗长。Java有与C/C++完全相同的switch语句。例如,如果建立一个如以下图所示的包含5个选项的系统,完全可以使用switch语句。

多重选择:switch语句

在处理多个选项时,使用多个 else/if 语句会使结构显得很臃肿。Java有一个和C/C++完全相同的switch语句。

例如,如果建立一个如下图所示的包含5个选项的系统,完全可以用使用switch语句完成。

Switch分支结构如何优化为更高效的长尾关键词?

public class Grade { public static void main(String[] args) { //输入学生成绩,90分以上为A级,80~89为B级,70~79为C级,60~69为D级,其他都为F级 Scanner scanner = new Scanner(System.in); System.out.println("请输入学生成绩:"); int score = scanner.nextInt(); String grade; //将输入的成绩除以10的值作为switch语句的条件判断式 switch (score/10) { case 9: grade = "A"; break; case 8: grade = "B"; break; case 7: grade = "C"; break; case 6: grade = "D"; break; default: grade = "F"; } System.out.println("这个学生成绩等级为:" + grade + "级"); } } //解读: /*满足条件1时,执行语句1,然后结束switch分支结构 接着执行后续代码; 满足条件2时,执行语句2,然后结束switch分支结构 接着执行后续代码; 满足条件3时,执行语句3,然后结束switch分支结构 接着执行后续代码; 满足条件4时,执行语句4,然后结束switch分支结构 接着执行后续代码; 都不满足,则会执行default中的语句5,然后结束switch分支结构 接着执行后续代码。/*

tips:从Java 7 开始,case标签的类型可以是char、byte、short、int、String、枚举类型。

注意:

  • 在switch语句里,如果case标签没有break语句,则会接着执行下一个case分支的语句,直到执行到最后为止,这也就是所说的穿透效果,在Java中并不推荐使用switch语句。
  • default一般放在case的最后,也可以不使用default语句,default如果在最后可以省略不写break语句,如果在中间就必须得写break语句,否则会发生穿透效果。

穿透效果示例:

public class Test { public static void main(String[] args) { int num = 2; switch (num) { case 1: System.out.println("这是1----"); case 2: System.out.println("这是2----"); case 3: System.out.println("这是3----"); case 4: System.out.println("这是4----"); default: System.out.println("这啥也不是---"); } } } /* 输出结果为: 这是2---- 这是3---- 这是4---- 这啥也不是--- */

正常情况下(写了break语句的)输出结果为:

这是2----

如果没写,就会从匹配的case语句那里“一穿到底”,所以在使用时一定不要把break忘了!!!

本文共计651个文字,预计阅读时间需要3分钟。

Switch分支结构如何优化为更高效的长尾关键词?

多选选择:switch语句 + 在处理多个选项时,使用多个else/if语句会使结构显得很冗长。Java有与C/C++完全相同的switch语句。例如,如果建立一个如以下图所示的包含5个选项的系统,完全可以使用switch语句。

多重选择:switch语句

在处理多个选项时,使用多个 else/if 语句会使结构显得很臃肿。Java有一个和C/C++完全相同的switch语句。

例如,如果建立一个如下图所示的包含5个选项的系统,完全可以用使用switch语句完成。

Switch分支结构如何优化为更高效的长尾关键词?

public class Grade { public static void main(String[] args) { //输入学生成绩,90分以上为A级,80~89为B级,70~79为C级,60~69为D级,其他都为F级 Scanner scanner = new Scanner(System.in); System.out.println("请输入学生成绩:"); int score = scanner.nextInt(); String grade; //将输入的成绩除以10的值作为switch语句的条件判断式 switch (score/10) { case 9: grade = "A"; break; case 8: grade = "B"; break; case 7: grade = "C"; break; case 6: grade = "D"; break; default: grade = "F"; } System.out.println("这个学生成绩等级为:" + grade + "级"); } } //解读: /*满足条件1时,执行语句1,然后结束switch分支结构 接着执行后续代码; 满足条件2时,执行语句2,然后结束switch分支结构 接着执行后续代码; 满足条件3时,执行语句3,然后结束switch分支结构 接着执行后续代码; 满足条件4时,执行语句4,然后结束switch分支结构 接着执行后续代码; 都不满足,则会执行default中的语句5,然后结束switch分支结构 接着执行后续代码。/*

tips:从Java 7 开始,case标签的类型可以是char、byte、short、int、String、枚举类型。

注意:

  • 在switch语句里,如果case标签没有break语句,则会接着执行下一个case分支的语句,直到执行到最后为止,这也就是所说的穿透效果,在Java中并不推荐使用switch语句。
  • default一般放在case的最后,也可以不使用default语句,default如果在最后可以省略不写break语句,如果在中间就必须得写break语句,否则会发生穿透效果。

穿透效果示例:

public class Test { public static void main(String[] args) { int num = 2; switch (num) { case 1: System.out.println("这是1----"); case 2: System.out.println("这是2----"); case 3: System.out.println("这是3----"); case 4: System.out.println("这是4----"); default: System.out.println("这啥也不是---"); } } } /* 输出结果为: 这是2---- 这是3---- 这是4---- 这啥也不是--- */

正常情况下(写了break语句的)输出结果为:

这是2----

如果没写,就会从匹配的case语句那里“一穿到底”,所以在使用时一定不要把break忘了!!!