在java中switch语句中,每个case分支就是一个入口,如果都没有满足条件,那么将会走到default分支中。那么这个default分支的位置会不会影响到执行的流程呢?
package com.app.statement; import java.util.Scanner; /** * Created by charles on 2015/7/12. */ public class SwitchTest { public static void main(String[] args){ System.out.print("enter a digital number:"); Scanner scanner = new Scanner(System.in); int number = scanner.nextInt(); switch(number){ default: System.out.println("default"); break; case 1: System.out.println("1"); break; case 2: System.out.println("2"); case 3: System.out.println("3"); case 4: System.out.println("4"); } } }
测试条件:5
执行结果:default
说明如果case语句都没有匹配到的情况下,defualt的语句的位置不会影响流程。
测试条件:2
执行结果:2 3 4
说明从case语句入口进入之后,语句的流程就会顺序向下执行,不会执行到default语句。所以default语句应该放到最后书写,不然有可能不会执行到。 测试jdk: 1.7
原文:http://my.oschina.net/summerpxy/blog/477640