注意三种方法的区别和联系。
一定记住三种方法的四部分分别在哪一个位置。
1.for循环
循环结构的四要素:
1.初始化条件
2.循环条件 --->一定是boolean类型的
3.循环体
4.迭代条件
for循环的结构 for(1;2;4){ 3 } 执行过程:1-->2-->3-->4-->2-->3--4...
//练习:遍历100内的所有偶数。
int z = 0;
for (int i = 0; i <= 100; i += 2) {
System.out.println(i);
z += i;
}
System.out.println(z);
//带有计数的方法
int y = 0;//定义变量接收
for (int i = 1; i <= 100; i++) {
if (i % 2 == 0) {
System.out.println(i);
y += i;
}
}
System.out.println("最终结果为:" + y);//放在这里是因为要放出for循环体,否则会带入循环。
2.while循环
循环结构的四要素: 1.初始化条件 2.循环条件 --->一定是boolean类型的 3.循环体 4.迭代条件
while循环的结构: 1; while(2){ 3; 4; }
说明: 不要丢掉4.迭代条件。一旦丢失,会导致死循环 for循环和while循环可以相互转换 区别:for循环和while循环的初始化条件的范围不同。 算法:有限性
//遍历100内的所有偶数
int i = 1;
while (i <= 100) {
if (i % 2 == 0) {
System.out.println(i);
}
i++;
}
3.do...while循环
循环结构的四要素: 1.初始化条件 2.循环条件 --->一定是boolean类型的 3.循环体 4.迭代条件
do...while循环的结构: 1; do{ 3; 4; }while(2); 执行过程:1-->3-->4-->2-->3-->4-->2-->...-->2
说明: 1.do...while循环至少会执行一次循环体
//遍历100以内的偶数,并计算所有偶数的和及偶数的个数。
int num = 1, sum = 0, count = 0;
do {
if (num % 2 == 0) {
System.out.println(num);
sum+=num;
count++;
}
num++;
} while (num <= 100);
System.out.println("总和:"+sum);
System.out.println("个数:"+count);
循环的综合训练: 从键盘读入个数不确定的整数,并判断读入的正数和负数的个数,输入为0时结束程序。 说明: 不在循环条件部分限制次数的结构,for(;;)、while(ture) 结束循环有几种条件?【可能会出现在同一个循环中】 方式一:循环条件部分返回false, 方式二:在循环体中,执行break。
while后面括号中的内容为布尔型,当不确定是就可以使用while(ture),然后再在后面跳出循环。
import java.util.Scanner;
public class ForWhileText {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//定义两个数
int positiveNumber = 0;//记录正数的个数
int negativeNumber = 0;//记录负数的个数
//当无法确定循环次数时,可以用while(ture)最后再用break跳出循环
//如果是for循环的话就是:for(;;)初始话条件没有,循环条件没有
//for(;;)==while(ture)
while (true) {
System.out.print("请输入数:");
int num = sc.nextInt();
//判断num的正负情况
if (num > 0) {
positiveNumber++;
} else if (num < 0) {
negativeNumber++;
} else {
//输完数最后输入一个0就可以跳出循环
break;
}
}
System.out.println("输入正数个数为:" + positiveNumber);
System.out.println("输入负数个数为:" + negativeNumber);
}
}