理博软件实训部的小伙伴遇到这么一个问题就是,也会用if结构,也会用switch结构,但是二者有什么区别呢,我相信学Java的小伙伴也会遇到这种困扰,所以特地作一下对比。

switch选择结构和多重if选择结构比较:

相同点:

都可以判断多分支条件的结构

不通点;

switch选择结构 多用于判断等值判断 条件必须是 整型和字符型变量

if选择结构 多用于范围性判断 没有switch选择结构条件的限制(适合某个变量处于某个连续区间时的情况)

if选择结构

基本if选择结构: 处理单一或组合条件的情况

If-else选择结构:处理简单的条件分支情况

多重if选择结构:处理复杂的条件分支情况

嵌套if选择结构:用于较为复杂的流程控制

switch选择结构

多重分支并且条件判断是等值判断的情况

处理系统异常(用户输入异常)

Scanner对象的hasNextInt()方法,可以判断用户从键盘输入的字符是否是合法的数字(int类型数字)

注意:

Scanner对象的方法有很多 要使用时候需要根据自身需求(要求)选择方法使用

Scanner.nextInt();c从控制台扫描录入的值 要注意先判断是否合法在去录入信息

例如:

if(input.hasNextInt()){

int call = input.nextInt();

switch (call) {

case 1:

System.out.println("拨爸爸的号");

break;

case 2:

System.out.println("拨妈妈的号");

break;

case 3:

System.out.println("拨爷爷的号");

break;

case 4:

System.out.println("拨奶奶的号");

break;

default:

System.out.println("您还没有设置自动按键拨号!!!");

break;

}

}else{

System.out.println("您输入有误");

}

java switch和if_对比Java中if和switch选择结构二者的区别相关推荐

  1. python中常见的三种选择结构_在Python中,实现多分支选择结构的最佳方法是

    在Python中,实现多分支选择结构的最佳方法是 答:if-elif-else 绘制建筑平面图时,被剖切的墙用 线绘制,定位轴线用 线绘制 答:粗实 细点画 智慧职教: 下列关于书写住院病历的叙述不正 ...

  2. java switch嵌套if_(新手)Java课程作业,请各位老哥指教:综合运用嵌套if选择结构、switch选择结构、多重if选择结构实现商品换购功能...

    综合运用嵌套if选择结构.switch选择结构.多重if选择结构实现商品换购功能 下面是我自己的代码,功能虽然基本满足,但是感觉好臃肿,很不简洁,有更好的方法吗?import java.util.Sc ...

  3. java增强for循环对比_foreach(增强for循环)和for的区别

    首先说一下foreach有的也叫增强for循环,foreach其实是for循环的一个特殊简化版. 再说一下foreach的书写格式: for(元素类型  元素名称 : 遍历数组(集合)(或者能进行迭代 ...

  4. java协程和线程_Kotlin中的线程和协程之间的区别

    由于我仅在JVM上使用协程,因此我将讨论JVM后端,也有Kotlin本机和Kotlin JavaScript,但是这些Kotlin后端不在我的讨论范围之内. 因此,让我们开始将Kotlin协程与其他语 ...

  5. Java遍历Map效率对比

    Java遍历Map效率对比 Java 中Map容器的遍历有多种方式,但是不同的方式效率会大有不同,以前没有注意这些细节,随意使用遍历方式在本地可能没有什么影响,但是在项目在高频使用需要特别注意,尽量使 ...

  6. java9新特性 2017_Java 9 ← 2017,2019 → Java 13 ,来看看Java两年来的变化

    作者 l Hollis来源 l Hollis(ID:hollischuang)距离 2019 年结束,只剩下 35 天了.你做好准备迎接 2020 年了吗?一到年底,人就特别容易陷入回忆和比较之中,比 ...

  7. Java 9 ← 2017,2019 → Java 13 ,来看看Java两年来的变化

    距离 2019 年结束,只剩下 10 几天了.你做好准备迎接 2020 年了吗? 一到年底,人就特别容易陷入回忆和比较之中,比如说这几天, 的对比挑战就火了! 这个话题登上了微博的热搜榜,也刷爆了朋 ...

  8. java9 变化_Java 9 ← 2017,2019 → Java 13,来看看Java两年来的变化

    距离 2019 年结束,只剩下 33 天了.你做好准备迎接 2020 年了吗? 一到年底,人就特别容易陷入回忆和比较之中,比如说这几天的对比挑战就火了! 这个话题登上了微博的热搜榜,也刷爆了朋友圈, ...

  9. Java 9 ← 2017,2019 → Java 13 ,Java 两年来都经历了什么?| CSDN 博文精选

    作者 | Hollis 责编 | maozz 出品 | CSDN 博客 距离 2019 年结束,只剩下 35 天了.你做好准备迎接 2020 年了吗? 一到年底,人就特别容易陷入回忆和比较之中,比如说 ...

最新文章

  1. hi35183e增加exfat文件系统的支持
  2. iphone相关总结
  3. 土耳其最大光伏电站成功并网
  4. 自动化测试之iframe窗口的切换
  5. 获取cookie里面的值
  6. Java正则表达式中的捕获组的概念及相关API使用
  7. 计算机病毒实践汇总三:动态分析基础(分析程序)
  8. NeHe OpenGL第九课:移动图像
  9. Android 杂七杂八记录
  10. HCIP2------BGP1
  11. 修复win10 服务器失败怎么办,fatal error怎么解决win10 修复Win10系统问题
  12. 评论:后MWC2012的一些感悟
  13. Ubuntu Edgy Sources list
  14. 红外避障模块c语言编写程序,红外避障模块(红外对管)51单片机驱动源程序
  15. 暑期培训《数学建模》一:模糊综合评价
  16. 骚年都2020年了你还在用EventBus吗?jetpack之liveData
  17. 云智慧智能研究院实习生招聘信息~只等优秀的你!
  18. codeforces #737(div.2)
  19. 微信分享圆角图片有黑色部分
  20. 2019.4.8 1532 Drainage Ditches

热门文章

  1. 前端技巧:如何使用nodejs实现举牌人表情包?
  2. python服务器稳定性,一种基于Python服务器稳定性测试的方法技术
  3. vxworks gcc linux,针对VxWorks的GCC交叉编译器无法编译C++
  4. centos7.2 mysql集群_Centos7.2下安装mysql-group-replication数据库集群
  5. JavaScript常用API总结
  6. MATLAB机器学习系列-3:BP神经网络算例实现
  7. Servlet 监听器
  8. VTK:vtkChartMatrix用法实战
  9. OpenCASCADE可视化:应用交互服务之本地选择
  10. OpenCASCADE:Foundation Classes之数学原语和算法