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 当我们需要根据一个条件执行一组语句时,我们需 ...
随机推荐
- dotnet 使用 Environment.FailFast 结束程序
在运行到一些诡异的代码,这时的程序已经无法继续运行,需要退出,那么如何在记完日志之后在退出程序记录更多信息?可以通过 Environment.FailFast 里面添加字符串告诉用户当前的进程无法继续 ...
- Cisco DNA-C POC环境配置
Step1:在DNA-C上创建Site,本例创建Global->China->WangJiang->20 F如下图: Step2:配置fusion区域的AAA和NTP等信息,如下图: ...
- mac 访达修改所有文件夹默认排序方式
先说个误区,下图只能改变当前目录的排序方式 修改所有目录的排序方式需要在顶部的“显示” 中修改
- 使用element的upload组件实现一个完整的文件上传功能(下)
本篇文章是<使用element的upload组件实现一个完整的文件上传功能(上)>的续篇. 话不多说,接着上一篇直接开始 一.功能完善—保存表格中每一列的文件列表状态 1.思路 保存表格中 ...
- P3225 [HNOI2012]矿场搭建 题解
这道题挺难的,可以加深对割点的理解,还有,排列组合好重要了,分连通块,然后乘法原理(加法原理计数什么的) 传送门 https://www.luogu.org/problem/P3225 省选oi题 ...
- C# ref参数
ref关键字用于将方法内的变量改变后带出方法外.具体我们通过例子来说明: static void Main(string[] args) { int c = 0; Add(1, 2,ref c); C ...
- 【题解】284E. Coin Troubles(dp+图论建模)
[题解]284E. Coin Troubles(dp+图论建模) 题意就是要你跑一个完全背包,但是要求背包的方案中有个数相对大小的限制 考虑一个\(c_i<c_j\)的限制,就是一个\(c_i\ ...
- 洛谷$P$3327 约数个数和 $[SDOI2015]$ 莫比乌斯反演
正解:莫比乌斯反演 解题报告: 传送门! 先考虑证明一个结论,$d_{i\cdot j}=\sum_{p|i}\sum_{q|j}[gcd(p,q)==1]$ 看起来就很对的样子,但还是证下趴$QwQ ...
- 「洛谷P1231」教辅的组成 解题报告
P1231 教辅的组成 题目背景 滚粗了的HansBug在收拾旧语文书,然而他发现了什么奇妙的东西. 题目描述 蒟蒻HansBug在一本语文书里面发现了一本答案,然而他却明明记得这书应该还包含一份练习 ...
- 数据库中间件分片算法之enum
前言 最近挺焦虑的,不知道未来该做什么,方向又是什么.只能用别慌,月亮也正在大海的某处迷茫.来安慰下自己.不过学习的初心咱们还是不要忘记.今天我们学习的是enum分片算法. 1.hash分区算法 2. ...