Java流程控制:for循环与增强for循环详解
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编程技巧的资料请关注本站其它相关文章!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













