Java中有三种主要的循环结构:
- while 循环
- do…while 循环
- for 循环
1、while循环
1.1、结构
while( 布尔表达式 ) { //循环内容 }
1.2、实例
public class TestWhile {public static void main(String[] args) {int x= 1;while (x<=10){System.out.println("value of x:" + x);x++;}}
}结果:
value of x:1
value of x:2
value of x:3
value of x:4
value of x:5
value of x:6
value of x:7
value of x:8
value of x:9
value of x:10
2、do…while 循环
2.1、结构
do { //代码语句 }while(布尔表达式);
2.2、实例
public class TestDoWhile {public static void main(String[] args) {int x= 1;do {System.out.println("value of x:" + x);x++;}while (x<=10);}
}
结果:
value of x:1
value of x:2
value of x:3
value of x:4
value of x:5
value of x:6
value of x:7
value of x:8
value of x:9
value of x:10
3、for循环
3.1、结构
for(初始化; 布尔表达式; 更新) {
//代码语句
}
3.2、实例
public class TestFor {public static void main(String[] args) {for (int i = 0; i <= 10; i++) {System.out.println("value of x:"+ i);}}
}
执行结果:
value of x:0
value of x:1
value of x:2
value of x:3
value of x:4
value of x:5
value of x:6
value of x:7
value of x:8
value of x:9
value of x:10
4、增强 for 循环
JDK 1.5 引进了一种新的循环类型,被称为 For-Each 循环或者加强型循环,它能在不使用下标的情况下遍历数组。
4.1、结构
for(type element: array)
{
System.out.println(element);
}
4.2、实例
public class TestForStrong {public static void main(String[] args) {int[] number = {1,2,3,4,5};for (int x : number){System.out.println("value of x:"+x);}}
}
执行结果:
value of x:1
value of x:2
value of x:3
value of x:4
value of x:5
5、 Iterator(迭代器)
5.1、结构
- Java迭代器(Iterator)是 Java 集合框架中的一种机制,是一种用于遍历集合(如列表、集合和映射等)的接口。
- 它提供了一种统一的方式来访问集合中的元素,而不需要了解底层集合的具体实现细节。
- Java Iterator(迭代器)不是一个集合,它是一种用于访问集合的方法,可用于迭代ArrayList和HashSet等集合。
- Iterator 是 Java 迭代器最简单的实现,ListIterator 是 Collection API 中的接口, 它扩展了 Iterator 接口。
5.2、方法
常用的是以下三个:
-
next() - 返回迭代器的下一个元素,并将迭代器的指针移到下一个位置。
-
hasNext() - 用于判断集合中是否还有下一个元素可以访问。
-
remove() - 从集合中删除迭代器最后访问的元素(可选操作)。
5.3、实例
public class TestIterator {public static void main(String[] args) {// 创建集合List<String> list = new ArrayList<String>();list.add("张三");list.add("李四");list.add("王五");System.out.println("list:"+list);// 获取迭代器Iterator<String> it = list.iterator();// 输出集合while (it.hasNext()){String next = it.next();System.out.println(next);//删除元素if (next.equals("张三")){it.remove();}}System.out.println("list:"+list);}
}
执行结果:
list:[张三, 李四, 王五]
张三
李四
王五
list:[李四, 王五]
6、循环控制
6.1、break
break 主要用在循环语句或者 switch 语句中,用来跳出整个语句块。
break 跳出最里层的循环,并且继续执行该循环下面的语句。
public class TestFor {public static void main(String[] args) {for (int i = 0; i <= 10; i++) {System.out.println("value of x:"+ i);if (i == 5){break;}}}
}
执行结果:
value of x:0
value of x:1
value of x:2
value of x:3
value of x:4
value of x:5
6.2、continue
- continue 适用于任何循环控制结构中。作用是让程序立刻跳转到下一次循环的迭代。
- 在 for 循环中,continue 语句使程序立即跳转到更新语句。
- 在 while 或者 do…while 循环中,程序立即跳转到布尔表达式的判断语句。
public class TestFor {public static void main(String[] args) {for (int i = 0; i <= 10; i++) {if (i == 5){continue;}System.out.println("value of x:"+ i);}}
}
执行结果:
value of x:0
value of x:1
value of x:2
value of x:3
value of x:4
value of x:6
value of x:7
value of x:8
value of x:9
value of x:10
6.3、return
return并不是专门用来结束循环的关键字,它可以用来结束一个方法或循环。当一个方法执行到return语句时,该方法就会被结束。与break和continue不同的是,return是直接结束整个方法,不管这个return处在多少层的循环之内。
public class TestFor {public static void main(String[] args) {for (int i = 0; i <= 10; i++) {if (i == 5){return;}System.out.println("value of x:"+ i);}}
}
执行结果:
value of x:0
value of x:1
value of x:2
value of x:3
value of x:4