Java中的循环语句
1.1 while 循环语句
while 语句也称为条件判断语句. 循环方式 : 利用一个条件来控制是否要反复执行这个语句.
语法 :
- while(条件表达式){
- 执行语句
- }
当条件表达式的返回值为真时,执行 " {} " 中的语句,当执行完 " {} " 中的语句后,重新判断条件表达式的返回值,直到表达式返回的结果为假时,退出循环.
注意:
不能在while表达式的括号后面加 " {} " !!!
如 :
- while(x==5);
- System.out.println("x的值为5");
这时程序会认为要执行一条空语句,而进入无限循环,Java编译器不会报错.
1.2 do...while 循环语句
do...while 循环语句与while循环语句相类似.
两者区别 :
while语句为先判断条件是否成立再执行循环体 , 而 do...while 循环语句则先执行一次循环会后,再判断条件是否成立 (即do...while循环语句中"{}"中的程序段至少被执行一次).
此外还应该注意,do...while语句在结尾处多一个分号 ";" .
语法:
- do {
- 执行语句
- }
- while(条件表达式);
1.3 for 循环语句
1.for 语句
语法 :
- for (表达式1 ; 表达式2 ; 表达式3) {
- 语句序列
- }
- 表达式1 : 初始化表达式,负责完成变量的初始化.
- 表达式2 : 循环条件表达式,值为boolean型的表达式,指定循环条件.
- 表达式3 : 循环后操作表达式,负责修整变量,改变循环条件.
技巧点 :
在编程时,有时会使用for循环的特殊语法格式来实现无限循环,语法格式为:
- for (;;){
- ...
- }
- 对于这种无限循环,可以通过break语句跳出循环.例如:
- for(;;){
- if(x<20)
- break;
- x++;
- }
2.foreach 语句
for循环的语法糖.
语法:
- for(元素变量 x : 遍历对象 obj){
- 引用了 x 的java语句;
- }
循环控制语句:
1.1 break 语句
不仅break语句可以跳出switch结构 , 也可以用break语句跳出当前循环体,从而中断当前循环.
例如:
- public class BreakTest{
- public static void main(String[] args){
- for(int i = 0 ; i <= 100 ; i++){
- System.out.println(i);
- if( i == 6){
- break; // 如果 i 等于6则跳出循环
- }
- }
- System.out.println("--end--");
- }
- }
但是,循环嵌套的情况下, break语句将只会使程序流程跳出包含它的最内层的循环结构即只跳出一层循环.
当然Java提供了"标签"功能,使一次跳出的最外层循环.
语法:
- 标签名 : 循环体 {
- break 标签名;
- }
- 标签名: 任意标识符.
- 循环体: 任意循环语句.
- break标签名: break跳出指定的循环体,此循环体的标签名必须与break的标签名一致.
例如:
- public class BreakOutsideNested {
- public static void main(String[] args){
- Loop: for(int i = 0; i < 3; i++){
- for(int j = 0; j < 6; j++){
- if (j == 4){
- break Loop;
- }
- System.out.println("i=" + i + "j=" + j);
- }
- }
- }
- }
1.2 continue 语句
continue 语句是对break语句的补充. continue 不是立即跳出循环体,而是跳过本次循环结束前的语句,回到循环的条件测试部分,重新开始执行循环. 在for循环中遇到continue后,首先执行循环的增量部分,然后进行条件测试.在while和do...while循环中,continue语句使控制直接回到条件测试部分.
例如:
- public class ContinueTest{
- public static void main(String[] args){
- for(int i = 1; i < 20; i ++){
- if(i % 2 == 0){
- continue; // 跳到下一循环
- }
- System.out.println(" i ");
- }
- }
- }
与break一样,continue也支持标签功能,语法:
- 标签名 : 循环体 {
- continue 标签民;
- }
- 标签名 : 任意标识符.
- 循环体 : 任意循环体.
- continue 标签名 : continue跳出指定的循环体,此循环体的标签名必须与continue的标签名一致.
Java中的循环语句的更多相关文章
- java中多重循环和break、continue语句
一.嵌套循环 循环可以互相嵌套,以实现更加复杂的逻辑,其代码的复杂程度也会提高,对初学者而言这应该是个难点,下面我们通过一些例子说明嵌套循环的使用,读者要自己把这些代码上机练习,并理解程序运行的流程. ...
- java基础3_循环语句,数组
java中的循环: Java中提供了3中循环结构: while do-while for ① 循环结构的作用? 可以不断重复执行循环结构中的代码: ② 上面的3个循环结构功能都是一样的,只是结构 ...
- PHP和Java中foreach循环的用法区别
1.foreach语句介绍: ①PHP: foreach 语法结构提供了遍历数组的简单方式.foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息. ...
- java中for循环的6种写法
有些写法上的说明写的过于武断,可能有很多不当之处,仅供参考. package ForLoop; import java.util.ArrayList; import java.util.Itera ...
- js中的循环语句
js中的循环语句可分为三种:1.while:2.do……while:3.for. while的语法为 while (exp) { //statements;} var a=1,b=0; whil ...
- Java中的switch语句后面的控制表达式的数据类型
Java中的switch语句后面的控制表达式的数据类型 1.byte 2.char 3.short 4.int 5.枚举类型 6.Java 7允许java.lang.String类型
- Java中return的语句
1.return语句的作用:a.返回一个值,这个值可以是任意类型.b.使程序返回到操作系统(即终止程序)2.java中对于一个函数,不论有没有返回值类型,都可以带有return 语句.但是区别在于,r ...
- Java中的return语句使用总结
Java中的return语句总是和方法有密切关系,return语句总是用在方法中,有两个作用,一个是返回方法指定类型的值(这个值总是确定的),一个是结束方法的执行(仅仅一个return语句). 在 ...
- Java中的if-else语句——通过示例学习Java编程(7)
作者:CHAITANYA SINGH 来源:https://www.koofun.com/pro/kfpostsdetail?kfpostsid=18 当我们需要根据一个条件执行一组语句时,我们需 ...
随机推荐
- androidBLE dfu升级使用及可能出现的问题
android-dfu-library是nordic提供的对nRF5x芯片固件进行空中升级的库,地址是https://github.com/NordicSemiconductor/Android-DF ...
- neo4j-查询示例
查找名为"Cloud Atlas"的电影 match(cloudAtlas {title:"Cloud Atlas"}) return cloudAtlas 查 ...
- 机器学习 - Python 02
好了,咱们接着上一节的内容,继续学习机器学习中的Python语法部分.这一节算是Python语法的最后一节了.也就是说如果真的看懂了这两节的内容,理论上说就机器学习的领域或者方向,语言已经不是问题了. ...
- 简易数据分析 15 | Web Scraper 高级用法——CSS 选择器的使用
这是简易数据分析系列的第 15 篇文章. 年末事情比较忙,很久不更新了,后台一直有读者催更,我看了一些读者给我的私信,发现一些通用的问题,所以单独写篇文章,介绍一些 Web Scraper 的进阶用法 ...
- 菜鸟系列Fabric源码学习 — committer记账节点
Fabric 1.4 源码分析 committer记账节点 本文档主要介绍committer记账节点如何初始化的以及committer记账节点的功能及其实现. 1. 简介 记账节点负责验证交易和提交账 ...
- alpha week 1/2 Scrum立会报告+燃尽图 06
此作业要求参见:https://edu.cnblogs.com/campus/nenu/2019fall/homework/9916 小组名称:“组长”组 组长:杨天宇 组员:魏新,罗杨美慧,王歆瑶, ...
- 洛谷$P3647\ [APIO2014]$连珠线 换根$dp$
正解:换根$dp$ 解题报告: 传送门! 谁能想到$9102$年了$gql$居然还没写过换根$dp$呢,,,$/kel$ 考虑固定了从哪个点开始之后,以这个点作为根,蓝线只可能是直上直下的,形如&qu ...
- $HDOJ5542\ The\ Battle\ of\ Chibi$ 数据结构优化$DP$
$AcWing$ $Description$ $Sol$ 首先显然是是以严格递增子序列的长度为阶段,由于要单调递增,所以还要记录最后一位的数值 $F[i][j]$表示前$i$个数中以$A_i$结尾的长 ...
- CF1272D. Remove One Element 题解 动态规划
题目链接:http://codeforces.com/contest/1272/problem/D 题目大意: 给你一个长度为 \(n\) 的数组,你最多删除一个元素(也可以不删),求此条件限制下的最 ...
- 一次 kafka 消息堆积问题排查
收到某业务组的小伙伴发来的反馈,具体问题如下: 项目中某 kafka 消息组消费特别慢,有时候在 kafka-manager 控制台看到有些消费者已被踢出消费组. 从服务端日志看到如下信息: 该消费组 ...