int i=1,int j=3,int k=30;
switch(?)
{
case ?: 没有break;的表达式
case ?: 30+=3;
case ?: 30<<=1;
case ?: 30/=3;
         break;
}
最后k的值是?

解决方案 »

  1.   

    对不起 弄错了 应该是int i=1,int j=3,int k=30;
    switch(?)
    {
    case ?: 没有break;的表达式
    case ?: k+=j;
    case ?: k<<=1;
    case ?: k/=j;
             break;
    }
    最后k的值是?
      

  2.   

    没有break会一直执行下面的case直到最后一个的
      

  3.   

    在switch里,某个case语句后面如果没有break语句跳出,会一直顺序执行下去,直到遇到break语句.否则会运行到switch结束.
    k += j; //30+3=33
    k <<=1;  //相当于乘2,66
    k /=j;  //22
    我的理解就这样,最后k值是22
    仅供参考
      

  4.   

    case ?: k/=j; 最后是它的值,
    解释:
      switch(x) case x=? 意思就是 传入x,当x=?时 是如何结果,若有break 就不再往下执行直接返回,现在没有break 当然 一直执行到最后啦。。