【1】求和:
@Test
public void test01(){
//循环:
//案例:求和:1+2+3+4+5:
//定义一个变量,用来接收和:
int sum = 0;
//变量:
int num1 = 1;
int num2 = 2;
int num3 = 3;
int num4 = 4;
int num5 = 5;
//求和:
sum += num1;
sum += num2;
sum += num3;
sum += num4;
sum += num5;
//输出:
System.out.println(sum);
}
缺点:变量的定义的个数太多
【2】改进:让变量的个数变少:
@Test
public void test02(){
//循环:
//案例:求和:1+2+3+4+5:
//定义一个变量,用来接收和:
int sum = 0;
//变量:
int i = 1;
//求和:
sum += i;
i++;//i=i+1
sum += i;
i++;//i=i+1
sum += i;
i++;//i=i+1
sum += i;
i++;//i=i+1
sum += i;
i++;//i=i+1
//输出:
System.out.println(sum);
}
缺点:代码中重复的东西太多了!!
完全重复还是有规律的重复—》重复
—》机制:重复的东西----》利用循环来解决。
循环解决方式:
@Test
public void test02(){
//循环:
//案例:求和:1+2+3+4+5:
//定义一个变量,用来接收和:
int sum = 0;
//变量:
int i = 1;
//求和:
while(i<=5){
sum += i;
i++;//i=i+1
}
//输出:
System.out.println(sum);
}
(
1)请问循环是提高的效率吗?循环的好处是啥?
代码中重复的东西太多了才使用的循环,循环为了解决重复代码的问题。
有了循环,我们写的代码变少了。—》开发(编写代码)的效率确实提高了。
运行速度是否提高?没有!表面上我们用循环省了代码,但实际在执行的过程中还是一遍一遍的重复执行
(2)循环 满足四个条件:
执行过程:【1】【2】【3】【4】【2】【3】【4】【2】【3】【4】。。。。。【2】【3】【4】
(3)代码执行过程:
sum=0,i=1
准备开始循环:
想要执行第1次循环,判断是否满足i<=5–》满足表达式返回true—》执行本次循环–》sum=1,i=2
想要执行第2次循环,判断是否满足i<=5–》满足表达式返回true—》执行本次循环–》sum=3,i=3
想要执行第3次循环,判断是否满足i<=5–》满足表达式返回true—》执行本次循环–》sum=6,i=4
想要执行第4次循环,判断是否满足i<=5–》满足表达式返回true—》执行本次循环–》sum=10,i=5
想要执行第5次循环,判断是否满足i<=5–》满足表达式返回true—》执行本次循环–》sum=15,i=6
想要执行第6次循环,判断是否满足i<=5–》不满足表达式返回false—》不执行{}中的代码—》循环停止
循环停止以后,后续代码该执行就执行
(4)验证:debug模式:
do…while语句
import org.junit.Test;
public class TestWhile02 {
@Test
public void test01(){
//1+2+3+4+5+,,,,,+99+100
int sum = 0;//循环体中需要的一个变量而已
int i = 1;//条件的初始化
while(i<=100){
sum += i;
i++;
}
System.out.println(sum);
}
@Test
public void test02(){
//100+98+96+。。。。+6+4+2
int sum = 0;//循环体中需要的一个变量而已
int i = 100;//条件的初始化
while(i>=2){
sum += i;
i -= 2;
}
System.out.println(sum);
}
@Test
public void test03(){
//5+10+15+20+。。。。+200
int sum = 0;//循环体中需要的一个变量而已
int i = 5;//条件的初始化
while(i<=200){
sum += i;
i += 5;
}
System.out.println(sum);
}
@Test
public void test04(){
//3*6*9*12*15
int sum = 1;//循环体中需要的一个变量而已
int i = 3;//条件的初始化
while(i<=15){
sum *= i;
i += 3;
}
System.out.println(sum);
}
@Test
public void test05(){
//1+2+3+....+100
//while:
/* int sum = 0;
int i = 101;
while(i<=100){
sum += i;
i++;
}
System.out.println(i);//101
System.out.println(sum);//0*/
//do-while:
int sum = 0;
int i = 101;
do{
sum += i;
i++;
}while(i<=100);
System.out.println(i);//102
System.out.println(sum);//101
/*
while :先判断,再执行
do-while:先执行,再判断,所以至少被执行一次,第二次才会进行逻辑判断!
*/
}
}
应用场景:
while(是否通过){
考试;
批卷子
}
do{
考试;
批卷子
}while(是否通过)
转载:https://blog.csdn.net/weixin_46208357/article/details/106201972
查看评论