for循环结构
语法:
for(初始值;循环条件;迭代部分){
//循环操作
}
执行规律:
1)首先执行1次初始值代码
2)判断循环条件是否成立,如果循环条件为true,则执行{}里的循环操作代码,执行循环操作后,进行迭代,
迭代完再进行循环条件判断,根据循环条件的结果决定是否继续执行循环操作如果循环条件为false,则结束
整个for循环结构,继续往下执行for循环结构之后的代码
例一:
package For.demo;
public class ForDemo01 {
public static void main(String[] args) {
for(int i = 1;i<=10;i++){//初始值、循环条件、迭代
System.out.println(i+"遍:"+"我爱你,祖国!");//循环操作,即你想重复的事
}
System.out.println("结束");
}
}
例二:
package For.demo;
public class ForDemo01 {
public static void main(String[] args) {
//输出九九乘法表
for(int sum=0, i=1;i<=9;i++){//行数
for(int j=1;j<=i;j++){//列数
sum=i*j;//变量相乘赋值给sum
System.out.print(j+"*"+i+"="+sum+"\t");// \t补长度对齐
}
System.out.println();
}
}
}
例三:
package For.demo;
import java.util.Scanner;
public class ForDemo01 {
public static void main(String[] args) {
//求一位同学5门课的平均分
Scanner sc = new Scanner(System.in);//创建Scanner对象
System.out.println("输入姓名:");
String name = sc.next(); //获取键盘数据
double sum = 0;//浮点变量
for(int i = 1; i<=5;i++){//循环5次,即循环一次输入一门课成绩
System.out.println("请输入第"+i+"门课成绩:");
double scors = sc.nextDouble();
sum+=scors;//存储
}
double avg = sum/5;//5门课平均分
System.out.println(name+"5门课平均分:"+avg);
}
}
循环结构嵌套
while、do-while、for循环结构理论上是可以随意(无限)嵌套的
语法:
for(初始值;循环条件;迭代部分){
//循环操作
for(初始值;循环条件;迭代部分){
//循环操作
for(初始值;循环条件;迭代部分){
//循环操作
。。。。。。。。for(n)
}
}
}
例一:
package For.demo;
public class loopForDemo01 {
public static void main(String[] args) {
/*A、B、C、D分别为0——9之间的整数,求出满足AB+CD=DA条件的数。
例如:90+09=99*/
for(int count=1, A=0;A<=9;A++){
for(int B=0;B<=9;B++){
for(int C=0;C<=9;C++){
for(int D=0;D<=9;D++){
if((A*10+B)+(C*10+D)==D*10+A){
System.out.print(""+A+B+"+"+C+D+"="+D+A+" ");
count++;//计数器
if(count%4==0){//四个为一行
System.out.println();//换行
}
}
}
}
}
}
System.out.println("-----------结束-----------");
}
}
例二:
for(int num=0,year=1000;year<=2022;year++){
if((year%4==0&&year%100!=0)||year%400==0){
System.out.print(year+" ");
num++;
if(num%4==0){
System.out.println();
}
}
}
System.out.println("-----------结束-----------");
例三:
int a = 0;
while(a<=9&&a>=0){
int b = 0;
while(b>=0&&b<=9){
if(a+b==12){
System.out.println(a+"+"+b+"="+(a+b));
}
b++;
}
a++;
}