黑马程序员技术交流社区
标题:
这个程序的结果是怎么算的?想知道算法的思想以及过程。
[打印本页]
作者:
官珺伟
时间:
2014-1-1 15:23
标题:
这个程序的结果是怎么算的?想知道算法的思想以及过程。
本帖最后由 官珺伟 于 2014-1-2 07:46 编辑
//写出输出结果。
class Demo2
{
public static void main(String[] args)
{
show(0);//15
show(1);//14
}
public static void show(int i)
{
switch(i)
{
default:
i+=2;
case 1:
i+=1;
case 4:
i+=8;
case 2:
i+=4;
}
System.out.println("i="+i);
}
}
复制代码
作者:
高丽华
时间:
2014-1-1 16:01
//写出输出结果。
class Demo2
{
public static void main(String[] args)
{
show(0);//15
show(1);//14
}
public static void show(int i)
{
switch(i)
{
default:
i+=2;
case 1:
i+=1;
case 4:
i+=8;
case 2:
i+=4;
}
System.out.println("i="+i);
}
}
当调用show(0)时,先执行default:然后再向下执行case;
当调用show(1)时,在这不执行default,先执行case1,然后向下执行
。
原因见下:
1,switch语句选择的类型只有四种:byte,short,int,char;
2,case之间与default没有顺序,先执行第一个case,没有匹配的case执行default。
3,结束switch语句的两种情况,遇到break,执行到switch语句结束;
4,如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束。
作者:
由然自美
时间:
2014-1-1 16:10
switch的特点
QQ截图20140101160933.png
(65.07 KB, 下载次数: 10)
下载附件
2014-1-1 16:10 上传
switch特点
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2