问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Java编程,switch语句,必须使用switch,不可以使用if???

发布网友 发布时间:2022-04-22 18:11

我来回答

5个回答

热心网友 时间:2023-11-14 22:52

这个场景不适合用swith。应该用if;

switch适合值相等(具体的值)的情况,不适合范围(大于、小于等)



switch语句的语法格式为:
switch(表达式){
case 值1:
功能代码1; 
[break; ]
case 值2:
功能代码2; 
[break; ]
……
default:
功能代码1; 
[break; ]
}
语法说明:
1、 表达式的类型只能为byte、short、char和int这4种之一。
2、 值1、值2…值n只能为常数或常量,不能为变量。
3、 功能代码部分可以写任意多句。
4、 break关键字的意思是中断,指结束switch语句,break语句为可选。
5、 case语句可以有任意多句,是标号语句。
6、 default语句可以写在switch语句中的任意位置,功能类似于if语句中的else。
执行流程:当表达式的值和对应case语句后的值相同时,既从该位置开始向下执行,一直执行到switch语句的结束,在执行中,如果遇到break语句,则结束switch语句的执行。

热心网友 时间:2023-11-14 22:52

    //if——else 
    public void test(int score){
        if(score<=100 && score >=90){
             System.out.println("优秀");       
         }else if(score>=60 && score<90 ){ 
             System.out.println("及格");         
         }else if(score>=0 && score<60){
             System.out.println("不及格"); 
         }else{
             System.out.println("分数错误!");     
         }     
    }
    //switch
    public void test(int score){
        int s = 0;
        if(score>=0 && score <=100){ 
           s = score/10;
        } else{ 
          System.out.println("分数错误!"); 
          return;           
        }
        switch(s){
              case 10:
              case 9:
                  System.out.println("优秀");
                  break;
              case 8:
              case 7:
              case 6:
                  System.out.println("及格");
                  break;
              default:
                  System.out.println("不及格");  
         }                      
    }

热心网友 时间:2023-11-14 22:52

都可以用。switch、if都是基本的语法之一,只是说有的时候switch看起来结构更清晰。但是switch也有很多局限性,比如不能对string 进行操作,但是好像1.7或1.8已经支持,我觉得看个人喜欢。

@上官元恒zsd  忘了加break了。

 

 int score = 80;
switch(score/10){
case 10:
case 9:    
    system.out.println("优秀");
    break;
case 8:
case 7:
case 6:
    system.out.println("及格");
    break;
default:
    system.out.println("不及格");

}

热心网友 时间:2023-11-14 22:53

import java.util.Scanner;
public class SwitchDemo {
/**
* @param args
*/
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.print("请输入分数:");
Integer score = s.nextInt();
String level = null;
switch ((Integer) score / 10) {
case 10: // 满分的处理与 case 9: 相同
case 9:
level = "优秀";
break; // 90~99
case 8:
level = "良好";
break; // 80~89
case 7:
level = "中等";
break; // 70~79
case 6:
level = "及格";
break; // 60~69
default:
level = "不及格";
}
System.out.println(level);
}
}

可以用if

热心网友 时间:2023-11-14 22:54

可以用if.当case超过一定数量的话,用ifelse会把程序显得很臃肿。所以少量的话推荐if。较多的话推荐switch。
你说的这个if和switch都可以达到
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
单位高温防护欠缺致员工中暑如何对待 狗狗为什么爱看视频 360浏览器怎么设置倍速播放 ...先讲女主的灵魂飘荡了一段时间,然后重生,请问是那本? 拯救者散热器怎么开 电脑如何一键还原系统电脑一键还原怎么操作 神舟笔记本电脑怎么重新设置神舟战神bios恢复出厂设置 神舟电脑恢复出厂设置神舟战神怎么恢复原厂系统 水泥楼梯如何铺木楼梯 家里面楼梯是水泥的不想铺地毯或者地砖还能铺什么 java中的switch语句的编写 java中switch语句问题 java编程 switch语句 java中 使用switch语句实现学生成绩等级 关于java 的switch()语句,问题? java编程 switch 语句 java中switch语句的用法 java中的switch语句的问题 关于Java/C中switch语句? java的switch语句 java switch语法特点 java中switch的用法 JAVA中switch语句详解与用法,通俗易懂,小白一个 java switch语句 Java中的switch语句怎么使用 java switch语句是什么意思? 贴瓷砖怎样量 贴瓷砖方法怎么挂线简单好用 贴瓷砖的方法与技巧 怎样贴瓷砖又快又好 java中使用switch语句怎么实现下图 java中switch case怎么表示范围 aircooler请问这是什么牌子的冷风机 关于AIR COOLER air-cooler是什么意思 澳柯玛空调扇里面两个像水壶一样的AIR COOLER是干什么用的啊?怎么使用呢? air cooler制冷机? fan, blower, air cooler,这三者有什么差别? display cooler和air cooler 的区别 air cooler 的化学成分 tower air cooler需要开吗 主机空冷器清洗? air-conditioner是什么意思 冷风机产品市场分析 air conditioner 和air-conditioning的区别 废气涡轮增压为什么要加中冷器? cooler是什么意思 谁知道标识只有Air Conditioner的空调机是什么品牌 嚎,壕,挎这三个字怎么组词语 50w充电宝能充华为40w的手机吗