Java学习——20基本结构(五)
本篇介绍 for循环。
1、 语法格式
for(表达式1;表达式2;表达式3)
循环体语句;
for循环语句将循环控制变量初值 、循环条件和变量的变化规律都以表达式形式写在循环体之前。
<表达式1>给循环变量赋初值;
<表达式2>给出循环条件;
<表达式3>给出循环变量的变化规律。
循环的三要素就在三个表达式中体现了。其中,初值在表达式1中;终值在表达式2中;步长在表达式3中。
2、 执行流程
先执行<表达式1>,为循环变量赋初值;再判断<表达式2>中的循环条件,若其值为true,执行循环体语句,然后执行<表达式3>,改变循环变量的值,进入下一轮循环;如果<表达式2>的值为false,循环结束。
3、改写上篇例,计算1~10的累加和。
几乎所有的循环都可以写为for 循环。
public class Sum {
public static void main(String args[]){
int i,s=0;
for(i=1;i<=10;i++)
s+=i;
System.out.println("The sum is "+s);
}
}
其运行结果如下:
The sum is 55
4、注意事项
(1)for循环中的两个分号不能省
例,可以写成for(int i=1;;i++),中间两个分号表示表达式2为空。此循环会一直循环下去。
(2)for()后没有分号,分号在循环体语句后
(3)表达式1和3可以有逗号,如:
for(int i=1,s=0;i<=10;i++)
s+=i;
5、例:计算从start~end的和。
import java.util.*;
public class Sum {
public static void main(String args[]){
Scanner s=new Scanner(System.in);
int start=s.nextInt();
int end=s.nextInt();
int sum=0;
for(int i=start;i<=end;i++)
sum+=i;
System.out.println("The sum from "+start+" to "+end+"is "+sum);
}
}
运行结果如下:
6、多重循环
如果循环语句内又有循环语句,则构成多重循环。
例:计算n!+(n-1)!+…+1!
分析:本例的每一个加数本身也需要循环,故需要二重循环实现。
其完整代码如下:
import java.util.*;
public class for1{
public static void main(String args[]){
Scanner sc=new Scanner(System.in);
for(int k=1;;){
System.out.println("请输入整数n:");
int n=sc.nextInt();
int sum=0,s;
int j;
for(int i=1;i<=n;i++){
for(j=1,s=1;j<=i;j++){
s*=j;
}
sum+=s;
}
System.out.println("The sum is "+sum);
}
}
}
运行结果如下: