java 无限循环语句_java学习之循环语句
1 循环语句 while
while循环语句和选择结构if语句有些相似,都是根据条件判断来决定是否执行大括号内的执行语句。区别在于,while语句会反复地进行条件判断,只要条件成立,{}内的执行语句就会执行,直到条件不成立,while循环结束。
它的语法结构如下:
while(循环条件){
执行语句
………
}
接下来通过一段代码,来实现打印1~4之间的自然数,WhileDemo.java
public classWhileDemo {public static voidmain(String[] args) {int x = 1; //定义变量x,初始值为1
while (x <= 4) { //循环条件
System.out.println("x = " + x); //条件成立,打印x的值
x++; //x进行自增
}
}
}
运行结果如下图:
在上述代码中,x初始值为1,在满足循环条件x <= 4的情况下,循环体会重复执行,打印x的值并让x进行自增。因此打印结果中x的值分别为1、2、3、4。
大家要注意的是,代码x++用于在每次循环时改变变量x的值,从而达到最终改变循环条件的目的。如果没有这行代码,整个循环会进入无限循环的状态,永远不会结束。
2 循环语句 for
for循环语句是最常用的循环语句,一般用在循环次数已知的情况下。for循环语句的语法格式如下:
for(初始化表达式; 循环条件; 操作表达式){
执行语句
………
}
在上面的语法结构中,for关键字后面()中包括了三部分内容:初始化表达式、循环条件和操作表达式,它们之间用“;”分隔,{}中的执行语句为循环体。
接下来分别用①表示初始化表达式、②表示循环条件、③表示操作表达式、④表示循环体,通过序号来具体分析for循环的执行流程。具体如下:
for(① ; ② ; ③){
④
}
第一步,执行①
第二步,执行②,如果判断结果为true,执行第三步,如果判断结果为false,执行第五步
第三步,执行④
第四步,执行③,然后重复执行第二步
第五步,退出循环
接下来通过一个案例对自然数1~4进行求和,如下所示。ForDemo01.java
public classForDemo01 {public static voidmain(String[] args) {int sum = 0; //定义变量sum,用于记住累加的和
for (int i = 1; i <= 4; i++) { //i的值会在1~4之间变化
sum += i; //实现sum与i的累加
}
System.out.println("sum = " + sum); //打印累加的和
}
}
运行结果如下:
3 循环语句 do...while
do…while循环语句和while循环语句功能类似,其语法结构如下:
do {
执行语句
………
} while(循环条件);
在上面的语法结构中,关键字do后面{}中的执行语句是循环体。do…while循环语句将循环条件放在了循环体的后面。这也就意味着,循环体会无条件执行一次,然后再根据循环条件来决定是否继续执行。
接下来使用do…while循环语句来实现打印1~4之间的自然数DoWhileDemo.java。
public classDoWhileDemo {public static voidmain(String[] args) {int x = 1; //定义变量x,初始值为1
do{
System.out.println("x = " + x); //打印x的值
x++; //将x的值自增
} while (x <= 4); //循环条件
}
}
运行结果:
我们发现WhileDemo.java与DoWhileDemo.java运行的结果一致,这说明什么呢?这说明do …while循环和while循环能实现同样的功能。然而在程序运行过程中,这两种语句还是有差别的。如果循环条件在循环语句开始时就不成立,那么while循环的循环体一次都不会执行,而do…while循环的循环体还是会执行一次。若将DoWhileDemo.java中的循环条件x<=4改为x < 1,DoWhileDemo.java运行结果会打印x=1,而WhileDemo.java运行结果什么也不会打印。
4 无限循环(死循环)
最简单无限循环格式:
while(true){} 用ctr +c结束
无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环。
5 循环嵌套
嵌套循环是指在一个循环语句的循环体中再定义一个循环语句的语法结构。while、do…while、for循环语句都可以进行嵌套,并且它们之间也可以互相嵌套,如最常见的在for循环中嵌套for循环,格式如下:
for(初始化表达式; 循环条件; 操作表达式) {
………
for(初始化表达式; 循环条件; 操作表达式) {
执行语句
………
}
………
}
接下来通过一个练习,来实现使用“*”打印直角三角形,如下所示。ForForDemo.java
1 public classForForDemo {2 public static voidmain(String[] args) {3 int i, j; //定义两个循环变量
4 for (i = 1; i <= 9; i++) { //外层循环
5 for (j = 1; j <= i; j++) { //内层循环
6 System.out.print("*"); //打印*
7}8 System.out.print("\n"); //换行
9}10}11 }
运行结果如下:
在上述代码中定义了两层for循环,分别为外层循环和内层循环,外层循环用于控制打印的行数,内层循环用于打印“*”,每一行的“*”个数逐行增加,最后输出一个直角三角形。
java 无限循环语句_java学习之循环语句相关推荐
- java数组循环试题_Java学习关于循环和数组练习题整理
循环例子: while循环和do-while循环 whlie(条件语句) { 循环体 }//先进行条件语句的判断,再进行循环体 do { 循环体 }whlie (条件语句)//先执行一次循环后再进行条 ...
- java嵌套循环语句_Java学习笔记(七) 循环语句
一.for循环语句 1.1 循环结构 循环结构的组成: 初始语句:用于表示循环开启的起始状态,简单说就是循环开始的时候什么样 条件判断语句:用于表示循环反复执行的条件,简单说就是判断循环是否能一直执行 ...
- java语言提供结构_java学习之语句结构
在java语言当中存在4中语句结构,分别是: 1.顺序结构 2.判断结构 3.选择结构 4.循环结构 一.顺序结构: 所谓的顺序结构,也就是当不指定其他三种语句结构的情况下,语句是从上往下依次执行的, ...
- java双重for循环流程图_Java的for循环
Java有好几种循环语句. for循环是Java的循环之一. for循环在java中用于重复执行一些语句,直到条件返回false. for循环有以下三个部分. 初始化 循环条件 自增或自减 for循环 ...
- java中的循环结构_Java中的循环结构进阶
循环结构进阶 学习本章用到的单词 triangle:三角形 circle:圆形 diamond:钻石 password:密码 row:行.排列 二重循环结构 简单的说:二重循环就是一个循环体内又包含另 ...
- java for怎么跳出_java跳出for循环的方法
java跳出for循环的方法 发布时间:2020-06-26 15:56:42 来源:亿速云 阅读:193 作者:Leah 这篇文章将为大家详细讲解有关java跳出for循环的方法,文章内容质量较高, ...
- java双重for循环流程图_java 流程执行 循环 foreach循环
一. if分支 1. 结构 if else if else 2.执行原则 if if if 结构 会一直去执行()里的判断语句 if else if else if 结构 只要一条( ...
- java 循环写法_java的for循环的几种写法
J2SE 1.5提供了另一种形式的for循环.借助这种形式的for循环,可以用更简单地方式来遍历数组和Collection等类型的对象.本文介绍使用这种循环的具体方式,说明如何自行定义能被这样遍历的类 ...
- Java异常日志的查询语句_java学习异常,断言和日志
1.异常处理的任务就是将控制权从错误产生的地方转移给能够处理这种情况的错误处理器 2.错误分类 用户输入错误 设备错误 物理限制 代码错误 3.异常分类,所有的异常都是由Throwable继承而来,有 ...
- java string逆序_Java学习笔记(八)——异常
本节主要内容是对 Java 的异常处理进行讲解,主要包含以下知识点: 异常分类 声明及抛出 捕获异常 自定义异常 * 异常堆栈 异常概述 对于程序的错误以及外部环境能够对用户造成的影响,我们应当及时报 ...
最新文章
- keras中conv2d,conv2dTranspose的Padding详细介绍
- 史上第二走心的 iOS11-Drag Drop 教程
- 云计算之路-阿里云上:2013年4月7日14:15~18:35服务器故障经过
- Dubbo支持的注册中心
- 【HDU - 5961】传递(图,思维,暴力,枚举点)
- [Android Studio] Android Studio如何提示函数用法
- sumk-db的主要方法及注解
- 网关转发其他微服务后头信息拿不到_微服务之基于Zuul自研服务网关
- caffe之 Blob、Layer、Net
- 2016PHP开发者大会
- maven仓库清理缓存文件(dos工具)
- python3的print()函数的用法图文讲解
- 局域网传输文件的几种方法盘点
- Proximity Based IoT Device Authentication翻译与理解
- [M1]Daily Scum 10.10
- UML与软件建模之面向对象的软件建模概述
- 增长率相关速算法原理推导
- DELL PowerEdge 远程开机
- 心通达OA开发环境搭建,可在心通达OA平台上做业务管理二开,贡献您业务、开发能力
- 【LSSVM回归预测】基于matlab鲸鱼算法优化LSSVM回归预测【含Matlab源码 104期】