目录
一、概述
1、什么是循环结构
在某些条件满足的情况下,反复执行特定代码的功能。
2、循环语句分类
- for循环
- while循环
- do-while循环
3、循环语句组成的四个部分
- 初始化部分(init_statement)
- 循环条件部分(test_exp)——是boolean类型
- 循环体部分(body_statement)
- 迭代部分(alter_statement)
如图:
二、使用
1.for循环结构的使用
说明:通常情况下,循环的结束都是因为②中循环条件返回false了2、for循环的结构
结构体
for(①;②;④){
③
}
执行过程:① - ② - ③ - ④ - ② - ③ - ④ -..... - ②
练习1
class ForTest{
public static void main(String[] args){
for(int i=1;i<5;i++){ //i:1,2,3,4,5
System.out.println("HelloWorld!");
}
//i:在for循环内有效,出了for循环就无效了。
//System.out.println(i);
int num=1;
for(System.out.print('a');num<=3;System.out.print('c'),num++){
System.out.print('b');
}
}
练习2:遍历100以内的偶数,输出所有的偶数的和,输入偶数的个数。
class ForTest{
public static void main(String[] args){
//练习
int num=1;
for(System.out.print('a');num<=3;System.out.print('c'),num++){
System.out.print('b');
}
int sum=0;
int count=0;
for(int i=1;i<=100;i++){
if(i%2==0){
System.out.println(i);
sum += i;
count++;
}
}
System.out.println("总和为:"+sum);
System.out.println("个数为:"+count);
}
}
练习3:输入连个正整数m和n,求两个最大公约数和最小公约数。
import java.util.Scanner;
class ForTest{
public static void main(String[] args){
Scanner scan=new Scanner(System.in);
System.out.println("请输入第一个正整数:");
int m=scan.nextInt();
System.out.println("请输入第二个正整数:");
int n=scan.nextInt();
//获取最大公约数
//1.获取连个数中较小值
int min=(m<=n)?m:n;
//2.遍历
for(int i=min;i>=i;i--){
if(m%i==0 &&n%i==0){
System.out.println("最大公约数为:"+i);
break;//一旦在循环中执行到break,就跳出循环
}
}
//获取最小公约数
//1.获取两个数中的较大值
int max= (m>=n)?m:n;
for(int i=max;i<=i;i++){
if(i%m==0 &&i%n==0){
System.out.println("最小公约数:"+i);
break;//一旦在循环中执行到break,就跳出循环
}
}
}
}
2.while循环的结构
结构体
①
while(②){
③;
④;
}
执行过程:① - ② - ③ - ④ - ② - ③ - ④ -..... - ②
说明:(1)写while循环千万小心不要丢了迭代条件。一旦丢了,就可能导致死循环!
(2)我们写程序,要避免死循环
(3)for循环和while循环时可以相互转换的!
区别:for循环和while循环的初始化条件部分作用范围不同
算法:有限性
练习:遍历100以内所有的偶数
class WhileTest{
public static void main(String[] args){
//遍历100以内所有的偶数
int i=1;
while(i<=100){
if(i%2==0){
System.out.println(i);
}
i++;
}
// 出了while循环以后,仍可以调用。
System.out.println(i);
}
}
3.do-while循环的结构
结构体
①
do{
③;
④;
}while(②);
执行过程:① - ③ - ④ - ② - ③ - ④ -..... - ②
说明:1.do-while循环至少会执行一次循环体!
练习:遍历100以内的偶数,并计算所有偶数的和及偶数的个数
class DeWhileTest
{
public static void main(String[] args){
//遍历100以内的偶数,并计算所有偶数的和及偶数的个数
int num=1;
int sum=0; //记录总和
int count=0; //记录个数
do{
if(num%2==0){
System.out.println(num);
sum+=num;
count++;
}
sum++;
}while(num<=100);
System.out.println("总和为:"+sum);
System.out.println("个数为:"+count);
}
}