Unable to get behaviour of Switch case in java

后端 未结 8 935
迷失自我
迷失自我 2021-01-23 14:07

I have written small code in java 6

public class TestSwitch{

public static void main(String... args){
    int a = 1;
    System.out.println("start");
          


        
8条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2021-01-23 14:34

    Switch replaces if else's but switch syntax != If else syntax.

    You forgot to put break after each case.

    So conditions under fall through.

    Example:

    case 0:
              mColor.setText("#000000");
              break;
    

    You can find that in docs

    The break statements are necessary because without them, statements in switch blocks fall through: All statements after the matching case label are executed in sequence, regardless of the expression of subsequent case labels, until a break statement is encountered.

    public static void main(String... args){
            int a = 1;
            System.out.println("start");
            switch(a){
                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 7:
                    System.out.println(7);
                    break;
                default:
                    System.out.println("nothing");
    
                }
    

提交回复
热议问题