一道Java题,下列语句序列执行后,k 的值是.

1个回答

  • 选C

    每个case语句后要加break;不然会从满足条件的那个case开始,一直运行到default.

    因为j-i=8满足了第一个case,而每个case后面都没有break;

    所以先执行k++ ,这时k=31

    然后执行K+=2,这时k=33

    然后执行K+=3 这时k=36

    最后执行k/j 即36/18 结果为2 ,

    如果像下面这样每个case后都有break;那么就是楼上的答案了.

    int i = 10,j = 18,k = 30;

    switch (j - i) {

    case 8:

    k++;break;

    case 9:

    k += 2;break;

    case 10:

    k += 3;break;

    default:

    k /= j;

    }