导学:
package cn.itcast.demo;
/*
for循环
格式:
for(初始化语句; 判断条件语句; 控制条件语句) {
循环体
}
执行流程;
第一次循环: 先执行初始化语句, 然后执行判断条件语句,
如果条件不成立: 循环结束
如果条件成立: 执行循环体,然后执行控制条件语句,此时,第一次循环执行结束.
第二次循环: 执行判断条件语句
如果条件不成立: 循环结束
如果条件成立: 执行循环体,然后执行控制条件语句,此时,第一次循环执行结束.
以此类推...
*/
public class ForDemo1 {
public static void main(String[] args) {
//需求: 打印5次HelloWorld
for(int i = 1; i <= 5; i++) {
System.out.println("HelloWorld!");
}
}
}
【案例】for循环_正向以及逆向打印数字
package cn.itcast.demo;
public class ForDemo2 {
public static void main(String[] args) {
//需求1: 打印1~5之间的数字
//方式一: 传统做法
System.out.println(1);
System.out.println(2);
System.out.println(3);
System.out.println(4);
System.out.println(5);
System.out.println("---------------");
//通过观察上述的代码,我们发现: 输出语句的次数是固定的, 只有输出语句里边的内容在发生变化.
//针对于这种情况, 就可以采用for循环来解决
//方式二: 采用for循环
for(int i = 1; i <= 5; i++) {
System.out.println(i);
}
System.out.println("---------------");
//需求2: 打印5~1之间的数字
for(int i = 5; i >= 1; i--) {
System.out.println(i);
}
}
}
案例】for循环_求1-100之间的偶数和
package cn.itcast.demo;
public class ForDemo4 {
public static void main(String[] args) {
//需求: 计算1~100之间的所有偶数和.
//1. 定义一个求和变量sum.
int sum = 0;
//2. 获取1~100之间所有的数据.
for(int i = 1; i <= 100; i++) {
//循环体
//i的值其实就是1~100之间的数字, 只要判断i是否是偶数即可.
//3. 判断当前获取到的数据是否是偶数, 是就累加.
if(i % 2 == 0) {
//能走到这里, 说明i是偶数, 累加即可.
sum += i;
}
}
//4. 打印结果.
System.out.println("sum: " + sum);
}
}
【案例】for循环_打印所有的水仙花数
package cn.itcast.demo;
public class ForDemo5 {
public static void main(String[] args) {
/*
需求: 打印所有的水仙花数.
水仙花数解释: 指的是一个三位数, 其各位数字的立方和等于它本身. 例如:
1*1*1 + 5*5*5 + 3*3*3 = 1 + 125 + 27 = 153
*/
//1. 通过for循环, 获取所有的三位数.
for(int i = 100; i < 1000; i++) {
//i表示的就是所有的三位数.
//2. 获取该数据的个位, 十位, 百位数字.
int ge = i % 10;
int shi = i/10%10;
int bai = i/10/10%10;
//3. 判断该数字是否是水仙花数, 如果是, 直接打印即可.
if(ge*ge*ge + shi*shi*shi + bai*bai*bai == i) {
//能走到这里, 说明i是水仙花数
System.out.println(i);
}
}
}
}
案例】for循环_计算水仙花数的个数
package cn.itcast.demo;
public class ForDemo6 {
public static void main(String[] args) {
//需求: 打印所有的水仙花数的个数.
//1. 定义一个计数器, 用来记录水仙花数的个数.
int count = 0;
//2. 获取到所有的三位数.
for(int i = 100; i < 1000; i++) {
//i记录的就是所有的三位数
//3. 获取到该数字的个位, 十位, 百位数字.
int ge = i % 10;
int shi = i / 10 % 10;
int bai = i / 10 / 10 % 10;
//4. 判断该数字是否是水仙花数, 如果是, 计数器自增1.
if(ge*ge*ge + shi*shi*shi + bai*bai*bai == i) {
//能走到这里, 说明i是一个水仙花数,
//count = count + 1;
//count++;
++count;
}
}
//5. 打印计数器的结果即可.
System.out.println("水仙花数的个数是: " + count);
}
}