本文主要是介绍Java基础学习篇:switch条件语句进阶(最详细版),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝
🥇博主昵称:小菜元
🍟博客主页:小菜元
🥗感谢点赞👍评论🃌
⚇很方便的在线编辑器:Lightly
让我们一起在写作中记录学习吧!
目录
switch使用目的
switch语句的形式
switch语句的注意要点(重点)
switch使用目的
在我们需要通过选择来输出指定内容时(例如:输入1就输出星期一,输入3就输出星期三)这个时候很多初学者都会选择if...else语句来实现,但是这样会导致编写过程冗杂,使得程序执行复杂,为避免这种问题出现,我们可以选择switch条件语句来实现这个内容
switch语句的形式
public class Test{public static void main(String[] args){switch(a){case b: //判断b与a是否相等//输出语句执行输出内容case c:break; //结束执行default: //加上结束语句}}
}
以上就是switch的形式,在switch语句中,a的表达式的类型必须是与int类型兼容的基本形式,就是能自动转化为int类型,因此他的合法类型包括:byte、short、char、int类型(从 Java SE 7 开始,switch 支持字符串 String 类型了,同时 case 标签必须为字符串常量或字面量)【每个case后的变量不能相同(称呼:为了便于表述,将switch后的变量成为switch表达式,case后的变量表达式,即a为switch的表达式】
PS:当然变量也可以是枚举类型!
switch语句的注意要点(重点)
- 当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到 break 语句出现才会跳出 switch 语句
- 当遇到 break 语句时,switch 语句终止。程序跳转到 switch 语句后面的语句执行。case 语句不必须要包含 break 语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句(也就是执行了break后直接结束语句)
- switch 语句可以包含一个 default 分支,该分支一般是 switch 语句的最后一个分支(可以在任何位置,但建议在最后一个)。default 在没有 case 语句的值和变量值相等的时候执行。default 分支不需要 break 语句
public class Test {public static void main(String args[]){int i = 5;switch(i){case 0:System.out.println("0");case 1:System.out.println("1");case 2:System.out.println("2");default:System.out.println("default");}} }
public class Test {public static void main(String args[]){int i = 5;switch(i){case 0:System.out.println("0");case 1:System.out.println("1");default:System.out.println("default");case 2:System.out.println("2");}} }
上述两段代码表示含义相同!
- 如果 case 语句块中没有 break 语句时,JVM 并不会顺序输出每一个 case 对应的返回值,而是继续匹配,匹配不成功则返回default内容(3表述结果可表达次内容)
- 如果switch表达式与某个case表达式匹配或者是与default匹配时就从这个case表达式或者是default开始执行,遇到break即结束,否则就继续执行case后的句子,不检查case表达式的值(case表达式的定义在上方已阐述)
public class Test {public static void main(String[] args){int x = 4;switch(x){default:System.out.println("直接输出");case 1:System.out.println("测试1");case 2:System.out.println("222");break;case 3:System.out.println("我是3");}}}
-
PS:那就有朋友会问了,如果我后面的case表达式有了对应的值那么我执行顺序是什么呢?答案其实很简单,就是有对应先执行对应!
- 一般情况下,每个case语句都应该对应一个break以便推出switch语句,但是如果多个表达式对应相同的流程分支就可不必使用
public class Test {public static void main(String[] args){int x = 2;switch(x){case 1:System.out.println("测试1");case 2:case 3:case 4:System.out.println(11); //即case值为234都执行次代码}}}
使用整数或者String操作数的switch表达式必须要有default,因为无论操作数值是什么,表达式都要生成一个值
-
PS:每个case语句一定要加break来终止执行,否则它将会继续执行知道default结束,导致出现大问题!
-
今天的java学习就到此结束了!希望大家能够掌握switch条件语句!
-
这篇关于Java基础学习篇:switch条件语句进阶(最详细版)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!