黑马程序员技术交流社区
标题:
if 和 switch有什么区别?什么时候用 if 什么时候用 switch?
[打印本页]
作者:
我只追求完美
时间:
2015-3-10 23:11
标题:
if 和 switch有什么区别?什么时候用 if 什么时候用 switch?
如题!!
作者:
Dark县令
时间:
2015-3-11 02:02
这个区别大了去了,switch语句是并列判断的,例如:
switch(x)
{
case 0:
System.out.println("1");
break;
case 1:
System.out.println("1");
break;
case 2:
System.out.println("1");
break;
default:
break;
}
如果x=1.则直接执行程序2,执行结束后退出这个循环,不会再去判断x是否等于0或2。
而if语句是逐行判断的,条件成立则进入执行语句,不成立则判断下一个条件是否成立。例如:
if( x==0 )
{
System.out.println("1");
}
if( x==1 )
{
System.out.println("1");
}
if( x==2 )
{
System.out.println("1");
}
程序从上往下执行,先判断x是否等于0。如果条件不成立,不执行程序1,继续往下判断x是否等于1,成立则执行程序2。执行完毕后,继续判断x是否等于2,不成立,不执行程序3,继续往下执行别的程序。
而且if能判断区间比如:
if(x>1 && x<6)
{
System.out.println("1");
}
而swith就不行!
希望对你有帮助
作者:
waterfox
时间:
2015-3-11 03:20
简单的说,多个if判断变量的值的选择,为了节省空间和时间就选switch。如果进行多重判断,就选if
作者:
黑马小夏
时间:
2015-3-11 08:40
学习学习
作者:
2119391569
时间:
2015-3-11 09:05
if和switch语句很像
具体什么场景下,应用那个语句?
如果判断的具体数值不多,而是符合byte,short,int,char这 四种类型,虽然这两个语句都可以使用,建议使用switch语句,因为效率稍高。
其他情况:对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广。
不知道有没有帮到你,加油!
作者:
金康俊
时间:
2015-3-11 10:01
需要判断的条件有个很广泛的区间值时用if就是很合适的。
作者:
冯林01
时间:
2015-3-11 10:05
楼上说的很详细啊,受教了
作者:
lostnotes
时间:
2015-3-11 13:59
对几个固定的值进行判断建议用switch,. if 用于对具体值,区间值以及结果是boolean类型的表达式进行判断
作者:
执梦而行
时间:
2015-3-11 14:06
if与switch的区别:
if:1.对具体的值进行判断
2.对区间判断
3.对运算结果是boolean类型的表达式进行判断
switch:1.对具体的值进行判断
2.值得个数通常是固定的
对于几个固定的值判断,建议使用switch语句,因为switch语句会把具体的答案都加载进内存,效率相对高一些
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2