Java поведение оператора case

    char g = 'a';
    switch(g){
        case 'a' :
            System.out.println("a");
        case 'с' :
            System.out.println("b");
            break;
        default :
            System.out.println("Default");
    }

Почему в консоли выводит "a" и затем "b", если переменная равна символу "a"?


Ответы (1 шт):

Автор решения: h4cktivist
char g = 'a';
switch(g){
    case 'a' :
        System.out.println("a");
        break;
    case 'с' :
        System.out.println("b");
        break;
    default :
        System.out.println("Default");
        break;
}

Не много поправил ваш код. Программа выводила сразу 2 значения, потому что вы упустили break;. Оператор break; ставится после каждой проверки условия. Как сказали в комментариях, если нет break или return, то выполнятся следующие case, в порядке, в котором они указаны, пока не встретится break или return.

→ Ссылка