首先来看看 for 的语法结构:
for(表达式1;表达式2;表达式3){
循环语句
}
或者更直观的表示为这样:
for(变量初始化;循环条件;迭代语句){
循环语句
}
for循环的执行流程是:
首先执行表达式1,一般是进行变量初始化操作,然后执行表达式2,即对循环条件进行判断,如果结果为真,则执行循环体;循环体执行完毕后,执行表达式3,改变循环变量的值,再次执行表达式2;结果为真,继续循环;如果结果为假,则终止循环,执行后面的语句。
无论执行多少次,表达式1仅执行一次。
我们举一个例子,编写一个小代码,来实现java代码1到100的求和?
1+2+3+……+100=?
/**
*计算1到100的和
*/
public class Summation {
public static void main(String[] args) {
int sum = 0; //声明变量sum存放计算的和,赋初值为0
for(int i=1;i<=100;i++)
sum +=i;//等价于语句sum=sum+score
System.out.println("sum="+sum);
}
}
运行结果:sum=5050
for循环适合循环次数固定的情况。对于循环次数不固定的,比如数组的循环和集合的遍历,可以用foreach循环。foreach循环不需要知道循环的次数,这个以后讲解。
换一种加法用java实现1到100的和:
(1+100)+(2+99)+……(50+51)=?
/**
* 使用for循环实现1到100的和
* 两头相加进行计算
* (1+100)+(2+99)+(3+98)+... ...+ (50+51)
*/
public class Summation2{
public static void main(String[] args) {
int sum = 0;
for(int i=1,j=100;i
sum+=i+j;
}
System.out.println("sum= "+sum);
}
}
最后,我们来使用java中的for循环输出点阵的图形
public class PrintTX {
public static void main(String[] args) {
printJX();
printPXSBX();
printSJX();
}
//打印矩形
private static void printJX(){
for(int i=1;i<=5;i++){
for(int j=1;j<=5;j++){
System.out.print("*");
}
System.out.println();
}
}
//打印平行四边形
private static void printPXSBX(){
for(int i=1;i<=5;i++){
for(int k=1;k<=5-i;k++){
System.out.print(" ");
}
for(int j=1;j<=5;j++){
System.out.print("*");
}
System.out.println();
}
}
//打印三角形
private static void printSJX() {
for(int i=1;i<=5;i++){
for(int k=1;k<=5-i;k++){
System.out.print(" ");
}
for(int j=1;j<=2*i-1;j++){
System.out.print("*");
}
System.out.println();
}
}
}
閱讀更多 日常程序媛 的文章