Java基础知识学习:break|continue|return关键字

目录,更新ing,学习Java的点滴记录

  目录放在这里太长了,附目录链接大家可以自由选择查看--------Java学习目录

break和continue语句

  1. 介绍
     在任何迭代语句的主体部分,都可用break和continue控制循环的流程.
     break用于强行退出循环,不执行循环中剩余语句.
     continue则停止当前的迭代,然后退回循环起始处,开始下一次迭代
  2. break和continue案例
    在这里插入图片描述 说明:在这个for循环中,i的值永远不会到达100,因为一旦到达74,break语句就会中断循环.只要i不能被9整除,continue语句就会使执行过程返回到循环的最开始(这会是i值递增).如果能整除,将显示值

goto_标签_带标签的break和continue

  1. 编程语言中一开始就有goto关键字了,事实上,goto起源于汇编语言的程序控制:“若条件A成立,则跳到这里,否则跳到那里”.如果阅读由编译器最终生成的汇编代码,就会发现程序控制里多了很多跳转.
  2. goto语句是在源码级上的跳转,这使其招致了不好的声誉.若一个程序总是从一个地方跳到另一个地方,这对识别程序的控制流程造成较大影响.对于这个问题,中庸之道是最好的解决办法真正的问题并不在于使用goto,而在于goto的滥用,而且少数情况下,goto还是组织控制流程的最佳手段.
  3. Java中没有goto.然后,Java也能完成一些类似跳转的操作,这与break和continue两个关键字有关,实际上他们不是一个跳转,而是中断迭代的方法,因为他们使用了相同的机制:标签.
  4. 标签是后面带有冒号的标识符.在Java中,标签起作用的唯一的地方就是迭代语句之前,"之前"表名在标签和迭代之间置入任何语句都不好.而在迭代之前设置标签的唯一理由是:希望在其中嵌套另一个迭代等.这是由于break和continue关键词通常只中断当前循环,但是如果随同标签一起使用,他们会中断循环,直到标签所在的地方.
  5. 案例
    在这里插入图片描述 内部for循环执行过程中,如果i=2时,就会执行内层for循环的第一个if语句,进而执行continue outer,这时,会重新执行外层for循环,此时i的值为3,然后执行内层for循环时,可以进入到第二个if语句,运行break outer,表示退出外层for循环,至此程序运行结束.如果没有break outer的话,就没有办法从内部循环里跳出外部循环.这是由于break本身只能中断最内层的循环(continue也是如此)
  6. 规则总结
     (1) 一般的continue会退回最内层循环的开头(顶部),并继续执行
     (2) 带标签的continue会到达标签的位置,并重新进入紧接在那个标签后面的循环.
     (3) 一般的break会中断并跳出当前循环
     (4) 带标签的break会中断并跳出标签所指的循环
  7. 重点:在Java中需要使用标签的唯一理由就是因为有循环嵌套存在,而且想从多层嵌套中break或者continue

return语句

  1. return关键字有两个方面的作用:一方面是导致当前方法退出,并将方法需要返回的返回值返回,另一方面是程序运行到此处后结束(单独用Return的情况)
  2. 案例说明
    在这里插入图片描述
    在这里插入图片描述
     在return;之后写的代码是无法执行到的,因此会编译时出错,显示问题为无法到达的声明,这也说明程序运行到return;时就结束了

猜你喜欢

转载自blog.csdn.net/qq_41649001/article/details/106609062