循环结构:
1、while 循环
(1)语法结构: 初始值; while(循环条件){ //循环操作代码 迭代部分 }
(2)执行规律: 1)首先执行1次初识值代码 2)判断循环条件,如果循环条件为true,就执行{}里面的循环操作代码和迭代部分的代码,迭代完之后,继续返回判断循环条件,根据循环条件的结果决定是否继续执行循环操作 如果循环条件为false,则结束整个while循环结构,继续往下执行while循环结构之后的代码
(3)注意:
1)初始值代码只执行一次
2)循环条件不管写的多么简单或者多么复杂,结果都只能是布尔值,要么为true要么为false
3)迭代部分的作用是改变初始值,让循环条件在某一时刻不再满足,从而结束整个while循环结构
2、do-while循环
(1)语法结构:
初始值l;
do{
循环操作
迭代部分
}while(循环条件);
(2)执行规律:
1)首先执行1次初始值代码
2)进入{}里执行1次循环操作和迭代部分,执行完之后进行条件判断,如果条件为true,返回{}里执行循环操作和迭代部分,
如果条件为false,则结束整个do-while循环结构,继续往下执行do-while循环结构后面的代码
(3)注意:
1)初始值只执行1次
2)循环条件不管写的多么简单还是复杂,都只能是布尔值,要么为true,要么为false
3)do-while循环是先执行一次循环操作,再判断循环条件,因此,如果第一次判断循环条件就不满足,循环操作也会执行一次(do-while循环里的循环操作至少会执行一次)
3、for循环
(1)语法结构:
for(初始值;循环条件;迭代部分){
循环操作
}
(2)执行规律:
1)首先执行1次初始值代码
2)判断循环条件是否成立,如果循环条件为true,则执行{}里的循环操作代码,执行循环操作后,进行迭代,迭代完再进行循环条件判断,根据循环条件的结果决定是否继续执行循环操作
如果循环条件为false,则结束整个for循环结构,继续往下执行for循环结构之后的代码
(3)注意:
1)初始值只执行1次
2)循环条件只能是布尔值,要么为true,要么为false
3)如果第一次判断循环条件就不满足,那么循环操作一次都不会执行
4、练习
(1)使用while循环求1-100之间所有整数之和(注意:1-100之间所有整数之和为5050)
public class Demo06 {
public static void main(String[] args) {
int i=1;
int num=0;
while(i<=100){
num=num+i;
i++;
}
System.out.println(num);
}
}
(2)1000-2022之间所有闰年
public class Demo07 {
public static void main(String[] args) {
int i =1000;
while (i<=2022){
if(i%4==0){
System.out.println(i+"是闰年");
}
i++;
}
}
}
(3)1-100整数之和
public class Demo1 {
public static void main(String[] args) {
int sum=0;
for (int i = 1; i <= 100; i++) {
sum=sum+i;
}
System.out.println(sum);
}
}
(4)写一个方法,此方法实现输出100-999之间的水仙花数。
public class Homework4 {
public static void main(String[] args) {
//循环每一个数
for (int i = 100; i <= 999; i++) {
//求各个位上的数字
int ge =i%10;
int shi =i/10%10;
int bai=i/100;
//各个位的三次方相加
int sum=ge*ge*ge+shi*shi*shi+bai*bai*bai;
//判断是否相等
if(sum==i){
System.out.println(i+"是水仙花数");
}
}
}
}
(5)求出1-3+5-7+9-…..101的和
public class Homework6 {
public static void main(String[] args) {
//定义求和的初始值
int sum =0;
//定义两个指针 num指针为数字的位置
for (int i = 1, num=1; i <= 101; i+=2,num++) {
System.out.println(i+" "+num);
if(num%2==0){
sum=sum-i;
}else
{sum=sum+i;}
}
System.out.println(sum);
}
}