之前面试过一个经验8年的JAVA开发,因为经验比较多,忽视了基础知识,结果因为不知道break和contiue的核心区别等基础知识,他在初试就被刷了下来。我们今天来好好温习一下控制语句。

首先,我们来熟悉一下return关键字:

return关键字主要有两种用法:一个是返回一个方法的值,前提是这个方法没有void关键字,另一个是它会推出这个方法,并且返回return后面的值,如果方法上面有void关键字,那么这个方法的结尾有一个隐含的return,但是没有void关键字,方法必须有return关键字,从而返回相应类型的值,否则就会报错。而且return关键字不一定非要在方法的尾部,也可以在方法的其他位置。

其次,我们来熟悉一下break和continue:

在循环语句中,如果需要退出整个循环控制流程,不执行循环剩余的语句,那么就需要用到break;如果需要退出当前循环,继续执行下一次迭代循环的语句,那么就需要用到continue。

这两个关键字可以用在while、do while和for循环语句中。比如:

for(int n : range(100)){

if(n == 50){

break;

}

if(n%9 !=0){

continue;

System.out.print(n + “ ”);

}

}

输出结果:

0 9 18 27 36 45

其中range()方法来自net.mindview.util.Range包,需要引入,这个方法会启动生成适合的数组。range()方法和foreach经常配合使用。

另外注意的是,java语言中没有goto关键字。

最后,我们来熟悉一下switch:

switch也是一个选择关键字,它的作用是实现多路选择,它的语法结构如下:

switch(选择因子){

case value1 : 执行语句; break;

case value1 : 执行语句; break;

case value1 : 执行语句; break;

case value1 : 执行语句; break;

default: 执行语句;

}

上面的选择因子是一个可以产生数组的表达式,这个数值可以是int或者char之类的整数值,因为如果使用float或者double或者string类型的选择因子,switch语句不工作。但是如果实在要使用非整数类型,那就请使用if语句,因为switch语句可以转化为if语句,但是enum枚举类型可以和switch语句配合使用。

switch语句执行情况是这样的,我们先将选择因子的表达式结果和case后面的value值进行对比,如果等于那个value值,就执行哪个后面的执行语句,如果没有相符合的,那么就执行default后面的语句。

而且我们看到每个case后面的语句都有一个break关键字,其实这break关键字不是必须要的,也可以不用,如果使用这个关键字,那么就意味着整个执行流程都跳转到switch结尾,就会结束整个switch。如果case后面没有跟break关键字,那么就意味着,不用跳出,继续执行后面的case语句,知道遇到下一个break才跳出,或者执行结束。

我们再看一个例子,这个离子的主体代码如下:

Random r = new Random(47);

for(int n = 0; n <100; n++){

int m = r.nextInt(26) + ‘a’;

printnb((char)m + “, ” + m + “: ”);

switch(m){

case ‘a’:

case ‘e’:

case ‘i’:

case ‘o’:

case ‘u’: print(“vowel”); break;

case ‘y’:

case ‘w’: print(“Sometimes a vowel”); break;

default: print(“consonant”);

}

}

输出:

y, 121: Sometimes a vowel

n, 110:consonant

w, 119: Sometimes a vowel

z, 112:consonant

上面这个示例中,Random.nextInt(26)这个方法会产生1-26之间的一个值,如果加上’a’的话,就会生成一个小写字母。而且如果case语句的末尾没有break,那么控制流程会继续执行下面的语句,知道结尾或者遇到break。其中int m = r.nextInt(26) + ‘a’;这个语句中,’a’会自动转型为int类型,并且执行加法操作。如果需要打印字符,还需要再将int类型转为char类型。

break continue区别和用法_因为不知道break和contiue的核心区别,他在初试就被刷了下来...相关推荐

  1. Java中 break continue return 的用法以及区别

    1.return (1)return 从当前的方法中退出,返回到该调用的方法的语句处,继续执行. (2)return 返回一个值给调用该方法的语句,返回值的数据类型必须与方法的声明中的返回值的类型一致 ...

  2. qt repaint 用法_关于Qt 中update()和repaint()的区别

    void QWidget::repaint ( int x, int y, int w, int h, bool erase = TRUE ) [槽] 通过立即调用paintEvent()来直接重新绘 ...

  3. uo和o的区别和用法_汉语拼音中,o与uo有什么区别

    展开全部 一.发音不同32313133353236313431303231363533e78988e69d8331333433653338 1.韵母o:发音时,口半闭,圆唇,舌头后缩,舌面后部略隆起, ...

  4. uo和o的区别和用法_拼音o与uo如何区别使用

    2017-10-27 常见多音的拼音 "和",1.he第二声 ? ? ? ? ? ? ? 2.he第四声(道和) ? ? ? ? ? ? ? 3.hu第二声(打麻将时常讲的&quo ...

  5. uo和o的区别和用法_韵母o和uo的区别

    展开全部 一.发音不同 1.韵母o:发音时,口半闭,圆唇,舌62616964757a686964616fe59b9ee7ad9431333431366330头后缩,舌面后部略隆起,舌尖置下齿龈后,声带 ...

  6. 15g1和g2和g3区别大吗_河南成人高考和普通高考的区别有哪些?成人高考难度会越来越大吗?...

    成人高考是我国成人高等学校选拔合格的毕业生以进入更高层次学历教育的入学考试,属于国民教育系列教育,已经列入国家招生计划.成人高考和普通高考一样,属于全国统考.那么河南成人高考和普通高考的区别有哪些?成 ...

  7. bigdecimal不等于0怎么写_创业计划书不知道怎么写?掌握核心逻辑是关键

    最近由于互联网+大学生创新创业大赛项目辅导的缘故,参与了很多项目赛前资料的准备,其中一项就是需要提交Word版的创业计划书.然而,无一例外,参赛项目团队以及指导教师对于创业计划书怎么准备并不是特别清楚 ...

  8. foreach和while的区别(编译之后)_一文了解解释型语言和编译型语言之区别

    引言 ​ 我们学了这么久的编程,做了那么多的项目,但总有那么一些概念即模糊又清晰,比如我们今天要细谈的解释型语言和编译型语言. 何谓解释?何谓编译? 这一切要从我们学习C语言的时候开始. 所有学过C语 ...

  9. python调试和测试有什么区别和联系_软件测试和测试开发到底有什么区别跟联系?...

    对于没有进入IT领域的同学而言,软件测试并不陌生,但如果听到测试开发,他们一定会感到十分困惑,这究竟是测试还是开发呢? 按照字面意思理解,大家或许会觉得测试开发是指既能开发产品又能测试产品的" ...

最新文章

  1. 802.11n 连接的建议设置是什么?
  2. python详细教程-Python入门教程:超详细1小时学会Python
  3. live linux 密码,Linux_如何使你的Linux系统省略输入用户名密码,在做Livecd的时候总是要输入用 - phpStudy...
  4. 数字签名工具signtool
  5. uniapp微信支付方案
  6. 【解决方案】数字孪生智慧光伏电站三维可视化系统
  7. 凛冬已至:大厂裁员浪潮,基础福利大砍,行业饱和,大龄程序员该如何自处
  8. 锁仓怎么解_期货锁仓后如何解锁?
  9. LeetCode 5773 插入后的最大值(中等 贪心)
  10. SQLite 基本语法(二)
  11. 冯诺依曼计算机的英文简称,冯诺依曼计算机,von neumann machine,音标,读音,翻译,英文例句,英语词典...
  12. 快速的取整方法(~~)
  13. arcgis10之给图层添加注记
  14. 修改vue项目到服务器端渲染,现有vue-cli3搭建的vue项目改ssr服务器渲染
  15. 一款可以排查重复照片,清理多余照片的照片管理软件,使用PowerPhotos的图像浏览器快速查看照片
  16. 爬取腾讯新闻中省份疫情数据到Mysql数据库
  17. 新型的火灾报警系统设有多个设备联动的模式,其能够服务于智能化以及化的火灾报警
  18. 很全面的视频编码格式表
  19. 4万高考冒名顶替事件_高考生冒名顶替上大学事件内幕调查
  20. 直播问题分析总结 -- 花屏绿屏

热门文章

  1. 使用 ADO.NET 和 Oracle 进行高级数据访问
  2. leetcode 1209 python
  3. html typora 图片_Typora优化-适合不懂CSS代码的小白
  4. 动态规划——环形子数组的最大和(Leetcode 918)
  5. C语言课后习题(21)
  6. java pdf水印排布问题_java 实现 PDF 加水印功能
  7. 如何在openGauss 2.1.0中使用Job?
  8. 2020年11月国产数据库排行: PingCAP融资破记录,PolarDB登云巅,达梦南大壮心雄
  9. innodb实例损坏情况下恢复数据及相关工具的开发
  10. 华为超大云数据中心落地贵州,这些硬核技术有利支撑“东数西算”