For循环
for循环语句是java中使用最为频繁的的循环语句。可以执行指定的次数,并维护自己的计数器
for循环语法格式
for (初始表达式; 条件表达式;迭代表达式)
{
循环语句;
}
初始表达式是在for循环首次执行时要计算的表达式。通常,这里会为一个循环变量初始化一个值
条件表达式(循环条件)用于每次循环前的条件判断,只有在条件表达式值为true时,才入到循环语句执行。
迭代表达式则在循环语句执行完成后进行计算,一般来说使用一个递增或递减的计数器作为迭代表达式,改变循环变量的值
for循环执行过程
- for语句执行时,首先执行初始表达式(只是第一次执行),然后判断条件表达式的值,如为true则转向2,如为false则转向4。
- 执行循环语句;循环语句执行完成,转向3
- . 计算迭代表达式,计算完,转向1。
- 结束for循环。
- for循环的优点在一个地方包括循环的全部规则,不是把几个语句放在代码的不同地方。使代码更易于阅读。适用于循环的开始和结束已知,循环次数固定的场合。while循环多适用于循环次数不确定,仅需知道循环终止条件的场合
例题
//使用for循环方式计算2+4+6+…+100的值
package com.hpe.java;
public class ForDemo01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 练习1:
// 使用for循环方式计算2+4+6+…+100的值
int i;
int sum=0;
for(i=2;i<=100;i++){
sum+=i;
i=i+2;
}
System.out.println(sum);
}
}
//编写Java程序,在控制台上打印出九九乘法表(两种)
package com.hpe.java;
public class ForDemo02 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//练习二:编写Java程序,在控制台上打印出九九乘法表(两种)
System.out.println("第一种:");
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= 9; j++) {
System.out.printf("%-8s",i+"*"+j+"="+(i*j));
}
System.out.println("");
}
System.out.println("=========================================================================");
System.out.println("第二种:");
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
System.out.printf("%-8s",j+"*"+i+"="+(i*j));
}
System.out.println("");
}
}
}
// 循环录入5个人的年龄,并计算平均年龄,如果录入的数据出现负数或者大于130的数,立即停止输出报错(无需打印平均年龄)
package com.hpe.java;
import java.util.Scanner;
public class ForDemo05 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 练习5:
// 循环录入5个人的年龄,并计算平均年龄,如果录入的数据出现负数或者大于130的数,立即停止输出报错(无需打印平均年龄)
int sum=0;
float ave;
Scanner sc=new Scanner(System.in);
System.out.println("请输入年龄:");
for (int i = 0; i < 5; i++) {
int age=sc.nextInt();
if(age>130||age<0){
System.out.println("输入错误!");
System.exit(0);
}
sum+=age;
}
ave=sum/5;
System.out.println("你们的平均年龄为:"+ave);
}
}
// 使用循环打印以下圣诞树:
// *
// ***
// *****
// *******
// *********
// ***********
// 要求输入树的高度,打印圣诞树。
// 解题思路:
// 1、双层循环
// 2、高度:h
// 3、当前行:n
// 3、空格数:当前行h-n
// 4、星星数:2n-1
package com.hpe.java;
import java.util.Scanner;
public class ForDemo07 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 练习7:
// 使用循环打印以下圣诞树:
// *
// ***
// *****
// *******
// *********
// ***********
// 要求输入树的高度,打印圣诞树。
// 解题思路:
// 1、双层循环
// 2、高度:h
// 3、当前行:n
// 3、空格数:当前行h-n
// 4、星星数:2n-1
Scanner sc=new Scanner(System.in);
System.out.println("请输入树的高度:");
int h=sc.nextInt();
for (int i = 1; i <= h; i++) {
for (int j = 0; j < h-i; j++) {
System.out.print(" ");
}
for (int k = 0; k < 2*i-1; k++) {
System.out.print("*");
}
System.out.print("\n");
}
}
}