如何在Java中使用开关?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
Java中有两个经常用于条件判断的方法,一个是如果其他{}{},另一个就是开关()了。总的来说因为开关可以直接一对一满足条件,不满足条件的情况是不会执行的的所以开关的效率会相对如果其他{}{}更高一些,而且这两个方法是可以无门槛互换的。
开关的使用:
- <李>
能用于开关判断的类型有:字节,短,int、char (JDK1.6),还有枚举类型,但是在JDK1.7后添加了对字符串类型的判断
李> <李>案例语句中少写了,编译不会报的错,但是会一直执行之后所有例条件下的语句而不再判断,直到默认语句
李> <李>若果没有符合条件的情况下就执行默认下的代码块,违约并不是必须的,也可以不写
李>开关(马克),{ ,,,,,case 0: ,,,,,,,System.out.println(马克); 打破才能; ,,,,,case 10: ,,,,,,,System.out.println(马克); ,,,,休息; ,,,,,case 20: ,,,,,,,System.out.println(马克); ,,,,,,,休息; ,,,,,}
这里马克值是判断条件,案件对应的是具体的值,如果马克=0或者马克=10或者马克=20,相对应的条件成立就会执行案例中的程序
在这里有一个思维误区很容易出的错,看下面代码:
开关(马克),{ ,,,,,case 0: ,,,,,,,System.out.println(马克); ,,,,,,,mark =, 10; ,,,,,,,休息; ,,,,,case 10: ,,,,,,,System.out.println(马克); ,,,,,,,mark =, 20; ,,,,,,,休息; ,,,,,case 20: ,,,,,,,System.out.println(马克); ,,,,,,,mark =, 30; ,,,,,,,休息; ,,,,,}
这段代码比和上面的代码相比,在每个案例中会重新给马克赋值,让这个重新赋的值和下一步的情况相对应。
错误思维:如果马克的初始值是0,这个开关程序会执行三次,执行的顺序依次是0,10,20。
因为我们在每一步的案例中都重新给马克赋值了,所以不熟悉的很容易就会觉得这个开关会从上往下执行,凡是满足条件的步骤都会执行。其实这个开关是只会执行一次的,因为每个案例后面都跟了一个突破,这个打破的作用就是跳出当前循环也就是跳出当前的开关,所以这个开关只会执行马克初始值对应的那个情况下,后面的步骤不会继续执行。如果要想三个步骤都依次执行需要在开关外面加上一个而循环,在一定的条件内重复执行开关:如下加上而
, (mark lt;=30), { ,,,,,开关(马克),{ ,,,,,case 0: ,,,,,,,System.out.println(马克); ,,,,,,,mark =, 10; ,,,,,,,休息; ,,,,,case 10: ,,,,,,,System.out.println(马克); ,,,,,,,mark =, 20; ,,,,,,,休息; ,,,,,case 20: ,,,,,,,System.out.println(马克); ,,,,,,,mark =, 30; ,,,,,,,休息; ,,,,,} ,,,}
关于如何在Java中使用开关问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。