Java基础SE | Java循环案例实解:
1.为什么要使用循环?循环的要素?
思考:输入输出10个学生的年龄
int age1~10;
10遍scanner();
10遍System.out.print();
当程序出现大量重复相同的操作时
循环的要素:
1.重复做的事情-->大括号{ }
2.重复的次数-->循环变量
2.whlie()循环
while(表达式[循环条件]){
执行语句;[重复操作的事情]
循环变量的自增或自减;
[使循环趋于结束]
}
表达式:循环条件,每次执行循环之前都会判断表达式的真假
一般是由关系运算符组成偶尔可见关系和逻辑运算符组成
执行过程:当循环执行到while时,首先会判断while后面( )里的表达式值的真假,
如果为真,那么就执行{ }里执行语句,然后循环变量自增或自减,
继续判断表达式的真假,直到表达式值为假,那么while循环结束
【案例】
0~10不包括
//循环变量赋初值(循环开始的位置)
int i = 0; //1次
while (i<10) {//循环条件 //11
//重复操作的事情
System.out.println(i); // 10
//循环变量的自增
i++; //10
}
while(true){
//死循环
}
【拓展案例1】
倒序输出0~10
//循环变量赋初值
int i = 10;
while (i>0) {//循环条件
//重复操作的事情
System.out.println(i);
//循环变量的自减
i--;
}
【拓展案例2】
打印100以内所有的奇数,偶数和3的倍数(不包括100)
//循环变量赋初值
int i = 1;
while (i<100) {//循环条件
if(i%2==1){
System.out.println(“奇数:”+i);
}
if(i%2==0){
System.out.println(“偶数:”+i);
}
if (i%3==0) {
System.out.println(“3的倍数:”+i);
}
//循环变量的自增
i++;
}
【拓展案例3】
计算1-100之间所有整数之和。5050
//循环变量赋初值
int i = 1;
//累加和
int sum = 0;
while (i<=100) {//循环条件
sum+=i;//sum = sum + i;
//循环变量自增
i++;
}
System.out.println(“sum =”+sum);
【拓展案例4】
计算5的阶乘
//循环变量赋初值
int i = 1;
//阶乘
int num = 1;
while (i<=5) {//循环条件
num *= i;//num = num*i;
//循环变量的自增
i++;
}
System.out.println(“num=”+num);
3.do-while循环
do{
执行语句;[重复操作的事情]
循环变量的自增或自减
}while(表达式[循环条件]);
执行过程:当程序执行到do-while时,首先会执行do后面{ }里的执行语句,
然后循环变量自增或自减,接着再去判断while后面( )里表达式的值,
如果值为真,那么就继续执行do,如果值为假,那么就结束循环
【案例】
//0~10
//循环变量赋初值
int i = 0;
do{
//重复操作的事情
System.out.println(i);
//循环变量自增
i++;
}while (i<10);
3.1、do-while和while区别
do-while会先执行一次,然后再去判断表达式的真假
while先判断表达式的真假,然后在去执行
【案例】
打印0~10
//循环变量赋初值
int i = 0;
do{
//重复操作的事情
System.out.println(i);
//循环变量自增
i++;
}while (i<0);
System.out.println(“\n———————————\n”);
int j = 0;
while (j<0) {
System.out.println(j);
j++;
}
【拓展案例1】
逆序输出10~0
//循环变量赋初值
int i = 10;
do {
//重复做的事情
System.out.println(j);
//循环变量的自减
i--;
} while (i>0); //循环条件
【拓展案例2】
求1!+2!+3!和
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
//输入一个数
int n = input.nextInt();
//累加
int sum = 0;
//阶乘
int num = 1;
//循环变量赋初值
int i = 1;
do {
//1!+2!+3!=1*1+1*2+1*2*3+1*2*3*4
//先求出阶乘
num = num * i;//2
//求和
sum = sum + num;//3
//循环变量的自增
i++;
} while (i<=n);//循环条件
//打印结果
System.out.println("sum="+sum);
}
4.for()循环
for(循环变量赋初值;循环条件;循环变量的自增或自减){
执行语句;[重复操作的事情]
}
执行过程:当程序执行到for首先会执行循环变量赋初值,然后执行循环条件,
判断循环条件的真假,然后为真,那么就执行{ }里的执行语句,
并计算循环变量自增或自减,然后继续判断循环条件,直到为假,for循环结束
【案例】
//int i;
//循环变量赋初值 1次
//循环条件: 11次
//自增: 10次
for (int i = 0; i<10; i++) {
System.out.println("%d\n",i);
}
4.1、for循环的6种写法
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
//1.标准写法
for(int i = 0;i<10;i++){
System.out.println(i);
}
//2.表达式1可以省略,但是要在外部声明
int i = 0;
for(;i<10;i++){
System.out.println(i);
}
//3.表达式2可以省略,但是是死循环
for(int i = 0;;i++){
System.out.println(i);
}
//4.表达式3可以省略,但是要声明在循环内部
for(int i = 0;i<10;){
System.out.println(i);
i++;
}
//5.表达式1,3可以省略,但是要声明在循环的外部和内部
int i = 0;
for(;i<10;){
System.out.println(i);
i++;
} //while
//6.三个表达式都省略,死循环
int i = 0;
for(;;){
System.out.println(i);
i++;
}
【拓展案例1】
打印Fibonacci数列的前20个数,并打印这20个数的总和。
//1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765
// Fibonacci特点:第1,2两个数值为1,从第三个数开始,该数是其前面两个数之和
//已知第一位
int n1 = 1;
//已知第二位
int n2 = 1;
//假设第三位
int n3 = 0;
//求和初始值(前两位已知)
int sum = 2;
//循环(循环条件18次)
for(int i = 0 ;i<18;i++){
//求第三位
n3 = n1+n2; //2
//打印第三位值
System.out.println(“sum=”+n3);;//2
//求和
sum = sum +n3;//4
//后移
n1 = n2; //n1 = 1
n2 = n3; //n2 = 2
}
//打印结果
System.out.println(“sum=”+sum);
【拓展案例2】
输入一个数,输出这个数的每一位
Scanner input = new Scanner(System.in);
int n = input.nextint();
for (;n!=0;) {
System.out.println(i%10);
n = n/10;
}
需要更多教程,微信扫码即可
别忘了扫码领取资料哦
【高清Java学习线路图】和【全套学习视频及相关资料】