增量运算符如何在开关情况下工作?

Bha*_*ahu 2 java switch-statement

它打印输出,case 10:但打印x=11如何?在哪一行之后它增加了值x

int x = 10;
switch (x++) {
case 10:
        System.out.println("case 1 ::: "+x);
        break;
case 11:
    System.out.println("case 2 ::: "+x);
    break;
default:
    System.out.println("default ::: "+x);
}
Run Code Online (Sandbox Code Playgroud)

OUTPUT

case 1 ::: 11
Run Code Online (Sandbox Code Playgroud)

Era*_*ran 5

后增量运算符x++递增x但返回前一个值x- 10.因此,switch语句获取值10(即x++表达式的值),并执行块case 10:,此时System.out.println("case 1 ::: "+x);打印增量值x- 11.