1 Java语言的循环
在Java语言中,循环用于重复执行一组指令/功能。Java中有三种循环类型。
- for循环
- while循环
- do-while循环
2 for while do-while的区别
比较方式 | for循环 | while循环 | do-while循环 |
---|---|---|---|
说明 | Java for循环是一个控制流语句,它多次迭代一部分程序。 | Java while循环是一个控制流语句,它根据给定的布尔条件重复执行部分程序。 | Java do-while循环是一个控制流语句,该语句至少执行一次程序体内容,是否再次致谢程序体取决于给定的布尔条件。 |
何时使用 | 如果迭代次数是固定的,建议使用for循环。 | 如果迭代次数不固定,建议使用while循环。 | 如果迭代次数不固定,并且必须至少执行一次循环,则建议使用do-while循环。 |
语法 | for(初始化;条件;增/减操作){ // 循环体 } | while(条件){ //循环体 } | do{ //循环体 }while(条件); |
实例 | for(int i=1;i<=10;i++){ System.out.println(i); } | int i=1; while(i<=10){ System.out.println(i); i++; } | int i=1; do{ System.out.println(i); i++; }while(i<=10); |
死循环语法 | for(;;){ //循环体 } | while(true){ //循环体 } | do{ //循环体 }while(true); |
3 Java for循环介绍
Java for循环用于多次迭代程序。如果迭代次数是固定的,建议使用for循环。
Java中有三种类型的for循环。
- 简单的循环
- for-each或增强for循环
- 带标签的for循环
4 Java 简单的for循环
Java的简单for循环与C/C ++相同。它包括四个部分:
- 条件表达式1:这是循环开始时执行一次的初始条件。在这里,我们可以初始化变量,也可以使用已经初始化的变量。这是一个可选条件。
- 条件表达式1:这是第二个条件,每次执行时都要测试循环条件。它继续执行直到条件为false。它必须返回布尔值true或false。这是一个可选条件。
- 语句:循环语句每次执行一次,直到第二个条件为false。
- 条件表达式1:递增或递减变量值。这是一个可选条件。
4.1 Java for循环语法
for(条件表达式1;条件表达式2;条件表达式3) {
语句;
}
for 循环语句执行的过程为:首先执行条件表达式 1 进行初始化,然后判断条件表达式 2 的值是否为 true,如果为 true,则执行循环体语句块;否则直接退出循环。最后执行表达式 3,改变循环变量的值,至此完成一次循环。接下来进行下一次循环,直到条件表达式 2 的值为 false,才结束循环,其运行流程如下图所示。
4.2 Java for循环示例
package net.jhelp;
/**
* http://www.jhelp.net
*/
public class Demo1 {
public static void main(String[] args) {
//for循环代码示例
for(int i=1;i<=10;i++){
System.out.println(i);
}
}
}
输出结果为:
1
2
3
4
5
6
7
8
9
10
5 Java 嵌套for循环
如果在另一个循环中有另一个for循环,则称为嵌套for循环。每当执行外循环时,内循环就完全执行。
5.1 Java 嵌套for循环示例1
package net.jhelp;
/**
* http://www.jhelp.net
*/
public class Demo2 {
public static void main(String[] args) {
//外循环
for(int i=1;i<=3;i++){
//内循环
for(int j=1;j<=3;j++){
System.out.println(i+" "+j);
}
}
}
}
输出结果为:
1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2
3 3
5.2 Java 嵌套for循环示例2
使用for循环打印金字塔:
package net.jhelp;
/**
* http://www.jhelp.net
*/
public class Demo3 {
public static void main(String[] args) {
for(int i=1;i<=5;i++){
for(int j=1;j<=i;j++){
System.out.print("* ");
}
System.out.println();//换行
}
}
}
输出结果为:
*
* *
* * *
* * * *
* * * * *
5.3 Java 嵌套for循环示例3
使用for循环打印倒金字塔:
package net.jhelp;
/**
* http://www.jhelp.net
*/
public class Demo4 {
public static void main(String[] args) {
int term=6;
for(int i=1;i<=term;i++){
for(int j=term;j>=i;j--){
System.out.print("* ");
}
System.out.println();//换行
}
}
}
输出结果为:
* * * * * *
* * * * *
* * * *
* * *
* *
*
6 Java for-each循环
for-each循环用于遍历Java中的数组或集合。它比简单的for循环更容易使用,因为我们不需要增加值并使用下标表示法。
它基于元素而不是索引工作。它在定义的变量中一一返回元素。
6.1 Java for-each循环语法
for(类型 变量:数值){
//循环体
}
6.2 Java for-each循环示例
package net.jhelp;
/**
* http://www.jhelp.net
*/
public class Demo5 {
public static void main(String[] args) {
//声明数组
int arr[]={12,23,44,56,78};
//使用for-each循环
for(int i:arr){
System.out.println(i);
}
}
}
输出结果为:
12
23
44
56
78
7 Java 带标签的for循环
我们可以为每个Java for循环命名。我们在for循环之前使用label。如果我们嵌套了for循环,则可以对for循环进行break/continue,这很有用。
注意:通常break和continue关键字仅中断/继续最里面的for循环。
7.1 带标签的for循环语法
标签名称:
for(条件表达式1;条件表达式2;条件表达式3){
//语句
}
7.2 带标签的for循环示例
package net.jhelp;
/**
* http://www.jhelp.net
*/
public class Demo6 {
public static void main(String[] args) {
//带标签的for循环
aa: //标签名
for(int i=1;i<=3;i++){
bb:
for(int j=1;j<=3;j++){
if(i==2&&j==2){
break aa; //跳出到指定标签
}
System.out.println(i+" "+j);
}
}
}
}
输出结果为:
1 1
1 2
1 3
2 1
如果使用break bb; ,它将仅break内部循环,这是任何循环的默认行为。
package net.jhelp;
/**
* http://www.jhelp.net
*/
public class Demo7 {
public static void main(String[] args) {
//带标签的for循环
aa: //标签名
for(int i=1;i<=3;i++){
bb:
for(int j=1;j<=3;j++){
if(i==2&&j==2){
break bb; //跳出bb循环
}
System.out.println(i+" "+j);
}
}
}
}
输出结果为:
1 1
1 2
1 3
2 1
3 1
3 2
3 3
8 Java for的死循环
如果使用两个分号;; 在for循环中,它就是一个不能结束的死循环了。
package net.jhelp;
/**
* http://www.jhelp.net
*/
public class Demo8 {
public static void main(String[] args) {
//for循环的死循环
for(;;){
System.out.println("死循环...");
}
}
}
输出结果为:
需要相关例子程序的,可以加关注微信公众号:技术老男孩。加我微信
本站推荐
-
1249
-
1039
-
597
-
510
-
491