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 循环
4.1、结构
for(声明语句 : 表达式)
{
//代码句子
}
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