Java 中的循环方式?

大家好,我是香香。

我们平时编码的时候,不可避免的要用到循环,但是循环方式又有很多种;

  • 我们应该使用哪种呢?

  • 它们之间的区别又是什么?

  • 各自有什么优点缺点呢?

Java 中的循环方式:

在 Java 编程中,循环是一种常见的控制结构,用于重复执行一段代码块。Java 提供了多种循环方式,每种方式都有其独特的特点和适用场景。

  1. for 循环

for 循环是一种最常用的循环结构,被广泛应用于迭代固定次数的情况下。

它具有以下特点:

  • 初始化、条件判断和更新操作在同一行内,简洁明了。

  • 可以灵活控制循环次数,适用于已知循环次数的情况。

  • 在循环体内可以对循环变量进行操作和控制。

以下是 for 循环的示例代码:

for (int i = 0; i < 10; i++) {
    System.out.println("当前循环次数:" + i);
}
  1. while 循环

while 循环是在指定条件为真时重复执行一段代码块,直到条件不满足为止。

它具有以下特点:

  • 先判断条件再执行循环体,可能一次都不执行循环体。

  • 循环次数不确定,适用于不确定循环次数的情况。

  • 在循环体内需要手动控制循环条件,否则可能会造成死循环。

以下是 while 循环的示例代码:

int i = 0;
while (i < 10) {
    System.out.println("当前循环次数:" + i);
    i++;
}
  1. do-while 循环

do-while 循环先执行一次循环体,再检查条件是否满足,如果满足则继续执行循环。

它具有以下特点:

  • 至少执行一次循环体,无论条件是否满足。

  • 循环次数不确定,适用于至少执行一次循环体的情况。

  • 在循环体内需要手动控制循环条件,否则可能会造成死循环。

以下是 do-while 循环的示例代码:

int i = 0;
do {
    System.out.println("当前循环次数:" + i);
    i++;
} while (i < 10);
  1. 增强 for 循环(foreach 循环)

增强 for 循环是用于遍历数组或集合中的元素,简化了传统 for 循环的写法。

它具有以下特点:

  • 自动迭代集合或数组中的每个元素,无需手动控制索引。

  • 适用于需要遍历集合或数组中的所有元素的情况。

  • 不支持对集合或数组进行修改操作。

以下是增强 for 循环的示例代码:

List<String> list = Arrays.asList("A", "B", "C");
for (String element : list) {
    System.out.println("当前元素:" + element);
}
  1. Iterator 迭代器循环

Iterator 迭代器循环通过 Iterator 迭代器对象遍历集合中的元素,适用于对集合进行遍历和删除操作。

它具有以下特点:

  • 支持遍历集合并在遍历过程中删除元素。

  • 可以手动控制遍历索引,支持对集合进行修改操作。

  • 适用于需要删除集合中特定元素的情况。

以下是 Iterator 迭代器循环的示例代码:

List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
    String element = iterator.next();
    System.out.println("当前元素:" + element);
    if (element.equals("B")) {
        iterator.remove();
    }
}
  1. foreach 循环(Stream API)

foreach 循环是 Java 8 中新增的一种 for-each 风格的遍历集合方式,基于 Stream 操作序列化集合。

它具有以下特点:

  • 提供了更加简洁、函数式的遍历语法。

  • 可以结合Lambda表达式进行元素处理,增强了代码的可读性和灵活性。

  • 适用于对集合进行筛选、映射、排序等操作。

以下是 foreach 循环的示例代码:

List<String> list = Arrays.asList("A", "B", "C");
list.forEach(element -> System.out.println("当前元素:" + element));

总结

介绍了 Java 中常见的循环方式,包括 for 循环、while 循环、do-while 循环、增强 for 循环、Iterator 迭代器循环和 foreach 循环。

以下是每种循环方式的优点和缺点:

  1. for 循环

优点:

  • 可以灵活控制循环次数。

  • 在循环体内可以对循环变量进行操作和控制。

缺点:

  • 当循环次数不确定时,不够直观。

  1. while 循环

优点:

  • 循环次数不确定,适用于不确定循环次数的情况。

缺点:

  • 先判断条件再执行循环体,可能一次都不执行循环体。

  • 需要手动控制循环条件,否则可能会造成死循环。

  1. do-while 循环

优点:

  • 至少执行一次循环体,适用于至少执行一次循环体的情况。

缺点:

  • 需要手动控制循环条件,否则可能会造成死循环。

  1. 增强 for 循环(foreach 循环)

优点:

  • 自动迭代集合或数组中的每个元素,无需手动控制索引。

  • 适用于需要遍历集合或数组中的所有元素的情况。

缺点:

  • 不支持对集合或数组进行修改操作。

  1. Iterator 迭代器循环

优点:

  • 支持遍历集合并在遍历过程中删除元素。

  • 可以手动控制遍历索引,支持对集合进行修改操作。

缺点:

  • 需要显式地使用 Iterator 对象,代码稍微繁琐。

  1. foreach 循环(Stream API)

优点:

  • 提供了更加简洁、函数式的遍历语法。

  • 可以结合Lambda表达式进行元素处理,增强了代码的可读性和灵活性。

缺点:

  • 对于复杂的操作,可能不如传统的 for 循环灵活。

  • 31
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值