Java流程控制:for循环与增强for循环详解

小林子
小林子
发布时间:2026-10-16 | 6人浏览过
原创

Java中的循环结构是流程控制的核心部分。standard for循环适合已知次数的迭代,由初始化、条件判断和更新三部分组成;增强for循环则是Java 5引入的语法糖,专用于简化数组和Collection集合的遍历。本文通过语法规则与代码实例,解析两者的适用场景与实现细节。

1、for循环结构与语法

虽然while或do…while可以表达任何循环逻辑,但for循环通过将初始化、条件检查和变量更新集中在一行中,使代码在处理固定次数循环时更加紧凑易读。注意:for循环的执行次数在执行前通常已经确定。

以下是使用while与for循环输出1到100间奇数的对比示例,可见两者在功能上等价,但结构分布不同:

public static void main(String[] args) {
  int a = 1; // while初始化
  while(a<=100){ 
   System.out.println(a); 
   a+=2; 
  }
  System.out.println("while循环结束!");

  for(int i = 1;i<=100;i++){ 
   System.out.println(i); 
  }
  System.out.println("for循环结束!");
}

截图范围有限,实际运行效果可通过本地环境查看。可以看出,当明确知道循环次数时,for循环能显著提高可读性。

第1步:掌握for循环的基础语法格式

for循环的标准结构由三个核心部分组成,分别对应循环生命周期的不同阶段:

for(初始化; 布尔表达式; 更新) {
  // 代码语句
}
  • 初始化步骤:最先执行。可声明局部变量并赋值,支持多个控制变量,也可留空。
  • 布尔表达式判断:若为 true,则进入循环体;若为 false,循环终止。
  • 更新步骤:每次循环结束后执行,常用于递增或递减循环变量(如 i++)。
  • 再次判断:更新后重新评估布尔表达式,决定继续还是退出。

第2步:编写基础循环练习

为了巩固理解,我们可以通过以下典型场景进行实践:

① 指定范围输出数值

打印 x 从 10 到 15 的值:

public class Test {
   public static void main(String args[]) { 
      for(int x = 10; x < 16; x = x+1) {
         System.out.println("x值: " + x );
      }
   }
}

② 累加计算奇数与偶数和

利用取模运算%区分奇偶,并在循环体内累加:

public static void main(String[] args) {
 int oddSum = 0;
 int evenSum = 0;
 for(int i=0;i<=100;i++){
   if(i%2!=0){
    oddSum += i;
   }else{
    evenSum += i;
   }
 }
 System.out.println("奇数和:"+oddSum);
 System.out.println("偶数和:"+evenSum);
}    

③ 嵌套循环:99乘法表

外层控制行,内层控制列,通过System.out.print不换行排列:

public static void main(String[] args) {
  for (int i = 1; i <10; i++) {
   for (int j = 1; j <= i; j++) {
    System.out.print(j + "*" + i + "=" + i * j + "  ");
   }
   System.out.println();
  }
}

2、增强for循环(For-Each)

从Java 5开始,引入了增强for循环。它主要用于简化数组或实现了Iterable接口的集合类的遍历,避免手动管理索引。

第3步:配置增强for循环语法

其语法格式比传统for循环更为精简,无需显式声明计数器:

for(声明语句 : 表达式)
{
  // 代码句子
}
  • 声明语句:定义一个局部变量,其类型必须与容器元素类型严格匹配。
  • 作用域限制:该变量仅在当前块内有效,值自动对应当前迭代的元素。
  • 表达式:必须是数组名,或返回数组的方法/属性。

第4步:验证数组与字符串遍历

增强for循环在处理连续内存存储的数据结构时非常高效。以下示例展示了其对基本类型数组与引用类型数组的遍历:

    public static void main(String[] args) {
        int [] numbers = {10, 20, 30, 40, 50};
        for(int x : numbers ){
            System.out.print( x );
            System.out.print(",");
        }
        System.out.print("\n");
        String [] names ={"Tom", "Jack", "Alice", "Shirley", "Mike"};
        for( String name : names ) {
            System.out.print( name );
            System.out.print(",");
        }
    }

通过以上分析,我们可以看到for循环提供了灵活的控制粒度,而增强for循环则在单纯读取集合内容时极大提升了代码的可读性。以上就是Java流程控制之循环结构的详细内容,更多关于Java编程技巧的资料请关注本站其它相关文章!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表