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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

如题!!

评分

参与人数 1黑马币 +3 收起 理由
杨佳名 + 3

查看全部评分

8 个回复

倒序浏览
这个区别大了去了,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就不行!
希望对你有帮助

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1

查看全部评分

回复 使用道具 举报
简单的说,多个if判断变量的值的选择,为了节省空间和时间就选switch。如果进行多重判断,就选if
回复 使用道具 举报
学习学习
回复 使用道具 举报
if和switch语句很像
具体什么场景下,应用那个语句?
如果判断的具体数值不多,而是符合byte,short,int,char这 四种类型,虽然这两个语句都可以使用,建议使用switch语句,因为效率稍高。
其他情况:对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广。
不知道有没有帮到你,加油!
回复 使用道具 举报
需要判断的条件有个很广泛的区间值时用if就是很合适的。
回复 使用道具 举报
楼上说的很详细啊,受教了
回复 使用道具 举报
对几个固定的值进行判断建议用switch,.     if 用于对具体值,区间值以及结果是boolean类型的表达式进行判断
回复 使用道具 举报
if与switch的区别:
if:1.对具体的值进行判断
     2.对区间判断
     3.对运算结果是boolean类型的表达式进行判断
switch:1.对具体的值进行判断
            2.值得个数通常是固定的
对于几个固定的值判断,建议使用switch语句,因为switch语句会把具体的答案都加载进内存,效率相对高一些
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马