A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 521123270 中级黑马   /  2015-5-16 16:31  /  2692 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

3黑马币
1.      下列代码运行的结果是(  )
public static void main(String[] args) {
   
    intnum = 4;
    inty = 0;
    switch(num){
       case1:
           y++;
       case2:
           y+=2;  
       case3:
           y+=3;
       case4:
           y+=4;
       case5:
           y+=5;
    }
    System.out.println(y);
{:3_57:} 请详细解释下!!谢谢!

最佳答案

查看完整内容

结果:15 执行default:y+=6;case4;case5的语句

5 个回复

倒序浏览
结果:15
执行default:y+=6;case4;case5的语句
回复 使用道具 举报
结果:9
switch(num)中num等于n,就成case n执行到结束。题中num的值为4,所以,执行case4的语句和case5的语句
改成
public static void main(String[] args) {

            

            int num = 4;

            int y = 0;

            switch(num){

               case 1:

                   y++;break;

               case 2:

                   y+=2; break;

               case 3:

                   y+=3;break;

               case 4:

                   y+=4;break;

               case 5:

                   y+=5;break;

            }

            System.out.println(y);
        }
就会只执行一个case4的语句就结束
回复 使用道具 举报
binglin 发表于 2015-5-16 18:29
结果:9
switch(num)中num等于n,就成case n执行到结束。题中num的值为4,所以,执行case4的语句和case5的语 ...

1.      下列代码运行的结果是(  )

public static void main(String[] args) {

   

    intnum = 9;

    inty = 0;

    switch(num){

       case1:

           y++;

       case2:

           y+=2;  

       case3:

           y+=3;

       case4:

           y+=4;

       case5:

           y+=5;

    }

    System.out.println(y); 那我在case : 3;下面加个default:y+=6;num 改成9;结果又会怎么样呢?{:3_57:}
回复 使用道具 举报
结果:15
从default:y+=6执行到结束
回复 使用道具 举报
结果是9
case 语句中没有break跳出条件,导致在case 4结束后没有停止,执行了case 5;所以结果是9.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马