教你如何区别if else和switch case

教你如何区别if else和switch case

注意: if…else会生成一个跳转表来指示实际的case分支的地址,而switch case却需要遍历条件分支直到命中条件。

一. if else的优缺点

(1)if else的优点:if else能应用于更多的场所以if else比较灵活 。

(2)if else的缺点:if else必须遍历所以得可能值。

二. switch case的优缺点

(1)switch case的优点:当分支较多时,用switch的效率是很高的。因为switch是确定了选择值之后直接跳转到那个特定的分支.

(2)switch case的缺点:switch…case占用较多的代码空间,因为它要生成跳表,特别是当case常量分布范围很大但实际有效值又比较少的情况,switch…case的空间利用率将变得很低。

注意;switch…case只能处理case为常量的情况。

三.具体案列的实现

(1)题目内容

01;积分转换段位: 王者荣耀段位判断

50分以下倔强青铜

50-60 秩序白银

60-70 黄金

70-80 铂金

80-90 钻石

90-100 星曜

100以上 王者

可以使用if或者switch(挑战)

(2)0.1 题目分析方法一 0.2 题目分析方法二

命名一个数组名称 math

50分以下倔强青铜 math<50

50-60 秩序白银 math>=50 && math<60 10 取整数

60-70 黄金 math>=60 && math<70 ****

70-80 铂金 math>=70 && math<80 ****

80-90 钻石 math>=80 && math<90 ****

90-100 星曜 math>=90 && math<100 ****

100以上 王者 math>=100 ****

(3)01用代码表示法一
public class Text01 {
	// 单行注释 程序的入口
	public static void main(String[] ages) {
		// 创建键盘扫描器
		Scanner scan = new Scanner(System.in);
		boolean flag = true;
		while (flag) {

//       提示用户输出信息
			System.out.println("========尊敬的Vip玩家欢迎来到王者荣耀段位查询平台==========\n请输入你的王者积分");
		int math=scan.nextInt();
		if(math<=50) {
			System.out.println("尊敬的Vip玩家你当前段位为: 倔强青铜");
		}else if(math>50 && math<=60) {
			System.out.println("尊敬的Vip玩家你当前段位为: 秩序白银");
		}else if(math>60 && math<=70) {
			System.out.println("尊敬的Vip玩家你当前段位为: 黄金");
		}else if(math>70 && math<=80) {
			System.out.println("尊敬的Vip玩家你当前段位为: 铂金");
		}else if(math>80 && math<=90) {
			System.out.println("尊敬的Vip玩家你当前段位为: 钻石");
		}else if(math>90 && math<=100) {
			System.out.println("尊敬的Vip玩家你当前段位为: 星曜");
		}else{	
            System.out.println("尊敬的Vip玩家你当前段位为: 王者");
		}	
	}	
 }
}
01.1运行效果图

在这里插入图片描述

02用代码表示法二
public class Text01 {
	// 单行注释 程序的入口
	public static void main(String[] ages) {
		// 创建键盘扫描器
		Scanner scan = new Scanner(System.in);
		boolean flag = true;
		while (flag) {
// switch(挑战)
			System.out.println("尊敬的Vip玩家请输入你的王者积分");
		int integral = scan.nextInt();
			switch (integral / 10) {
			case 0:
			case 1:
			case 2:
			case 3:
			case 4:
				System.out.println("你当前段位为:  倔强青铜 ");
				break;
	        case 5:
			System.out.println("你当前段位为:  秩序白银 ");
			    break;
		    case 6:
				System.out.println("你当前段位为:  黄金 ");
				break;
		    case 7:
				System.out.println("你当前段位为:  铂金 ");
				break;
		    case 8:
				System.out.println("你当前段位为:  钻石 ");
				break;
		    case 9:
				System.out.println("你当前段位为:  星曜 ");
				break;
				default:
				System.out.println("你当前段位为:  王者");
			}
	}
 }
}
02.1运行效果图

在这里插入图片描述

小伙伴们今日分享就到此结束,要想了解更多请关注我,持续为你更新奥!

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
回答: 前端中,if-else和switch-case都是用来进行条件判断的语句。根据引用\[1\]的结论,当条件是连续数字或相隔不大时,编译器会使用表结构做优化,此时switch-case的性能优于if-else。而在其他情况下,switch-case其实就是逐个分支判断,性能与if-else无异。所以,如果条件是不连续的数字,如1、2、3、456、987,使用switch-case可能会浪费内存,因为每个case都需要占用内存空间。因此,在这种情况下,使用if-else可能更合适。引用\[2\]中也提到了这一点。然而,最终选择使用if-else还是switch-case并不仅仅取决于性能,而是根据具体情况和代码的可读性来决定。很多优秀的项目和代码选择了if-else语句,这可能是因为if-else更灵活,适用范围更广,更容易理解和维护。所以,在前端开发中,我们需要根据具体情况来选择使用if-else还是switch-case语句。 #### 引用[.reference_title] - *1* *2* [if-else 和 switch-case 哪个效率更高?](https://blog.csdn.net/lt_xiaodou/article/details/126966636)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [优秀的代码最终选择if else,还是switch case](https://blog.csdn.net/xingyu_qie/article/details/128810177)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值