for循环
- 控制一段代码反复执行很多次。
格式:
for(初始化语句;循环条件;迭代语句){
循环体语句(重复执行的代码);
}
最简单的示例:输出3次HelloWorld,代码如下:
public class ForTest { public static void main(String[] args) { for (int i = 0; i < 3; i++) { System.out.println("HelloWorld!"); } } }
案例1:求和
需求:求1-5之间的数据和,并把求和结果在控制台输出。
分析:
- 定义for循环使其能够一次访问到:1、2、3、4、5。
- 在循环外定义一个整数变量sum用来累加这些数据。
- 循环结束后,输出求和变量即是结果。
代码如下:
public class ForTest2 { public static void main(String[] args) { //需求:计算1-5的和 //2.定义一个整数变量用于累加数据求和 int sum = 0; //1.定义一个for循环找到1 2 3 4 5 for (int i = 1; i <= 5; i++) { //3.把循环的数据累加给sum变量 /* sum += i等价于sum = sum + i i == 1 sum = 0 + 1 i == 2 sum = 1 + 2 i == 3 sum = 3 + 3 i == 4 sum = 6 + 4 i == 5 sum = 10 + 5 */ sum += i; } System.out.println("1-5的和是:"+sum); } }
案例2:求奇数和
需求:求1-10之间的奇数和,并把求和结果在控制台输出。
方法一:
- 定义for循环使其能够依次访问到:1、2、3、4、5……10。
- 在for循环中,通过if筛选出奇数
- 在循环外定义一个整数变量sum用来累加这些数据。
代码如下:
public class ForTest3 { public static void main(String[] args) { //需求:求1-10的奇数和 //3.定义一个求和的变量 累加奇数和 int sum = 0; //1.定义一个循环找到1、2、3……10 for (int i = 1; i <10 ; i++) { //2.筛选出奇数 if (i % 2 == 1){ sum += i; } } //4.输出求和变量即可 System.out.println("1-10的奇数和是:"+sum); } }
方法二:
- 定义for循环使其能够依次访问到:1、3、5、7、9。
- 在循环外定义一个整数变量sum用来累加这些数据。
public class ForTest3 { public static void main(String[] args) { //2.定义一个求和的变量 累加奇数和 int sum1 = 0; //1.定义循环找到1 3 5 7 9 for (int i = 1; i <=10 ; i+=2) { sum1 += i; } //3.输出求和变量即可 System.out.println("1-10的奇数和是:"+sum1); } }
案例3:水仙花数
需求:在控制台输出所有的“水仙花数”,水仙花数必须满足如下2个要求:
- 水仙花数是一个三位数
- 水仙花数的个位i、十位、百位的数字立方和等于原数
分析:
- 定义一个for循环从“100一直到999”。
- 每次访问到数据后,提取该数据的:个位、十位、百位数字。
- 使用if判断:个位、十位、百位的数字立方和是否等于原数,等于则输出该数据。
问:如何计算出水仙花的个数?
- 在循环外定义一个变量count用于记录水仙花数。
- 每输出水仙花数时,让count++。
详细代码如下:
public class ForTest4 { public static void main(String[] args) { //需求:找出水仙花数并输出 //在循环外定义一个变量用于记录水仙花的个数 int count = 0; //1.定义一个for循环找出全部三位数 for (int i = 100; i <=999 ; i++) { //2.判断这个三位数是否满足要求 //个位 int ge = i % 10; //十位 int shi = i / 10 % 10; //百位 int bai = i / 100; if ((ge*ge*ge + shi*shi*shi + bai*bai*bai)==i){ System.out.println(i+"\t"); count++; } } System.out.println();//换行 System.out.println("水仙花个数是:"+count); } }