for 为次数循环 while 为条件循环,循环之间可以相互转化
语法:
for(条件初始化;条件判断;条件变化){
循环体;
}
条件初始化;
while(条件判断){
循环体;
条件变化;
}
do..while
条件初始化;
do{
循环体语句;
条件变化;
}while(条件判断);
在使用while循环时候,注意条件的声明位置,条件变化的位置,
while循环适合使用在,条件不用声明就已经存在|条件变化不需要手动控制,这种情况适合使用while循环
for循环适合用在: 确定循环次数,确定条件变化区间,适合使用for循环。
while,do..while的区别 :
while : 先判断,满足条件要求再执行每一次循环
do..while : 先执行一次,然后判断条件决定下一次知否执行(无论是否满足条件,都至少执行一次)
for : 次数循环 -> 多 ****
while : 条件循环 -> **
do..while : 理解 区别
死循环 :循环无法停止
编译器识别的死循环:
while(true){}、for(;;){}、do{}while(true);死循环后面的代码为不可达语句
运行时期的死循环 :
后面出现了语句,编译也不会报错,因为编译器认为这个循环有可能停止
ctrl+c ==> 控制台中强制终止程序的执行
break 与 continue :
break : 作用是 终止,结束;应用场景 : switch,循环
continue:作用 : 结束本次循环,直接进入到下一次循环;应用场景 : 循环中
循环嵌套 :
for(条件初始化;条件判断;条件变化){
//循环体语句
for(条件初始化;条件判断;条件变化){
循环体语句
}
//循环体语句
}
外层循环执行一次,内存循环执行一轮(从开始到不满足循环条件结束。
多重循环嵌套下break与continue的使用
break与continue默认针对最内层循环
1.每一层设置标签
2.使用break与continue的时候==> break|continue 标签名;
/*
* for循环练习
*/
public class Class025_ForPractice {
public static void main(String[] args) {
//求1-100的和,求1-100的偶数和,求1-100的奇数和
int sum = 0;
int sum1 = 0; //奇数和
int sum2 = 0; //偶数和
for(int i=1;i<=100;i++){
sum+=i;
//奇数
if(i%2!=0){
sum1+=i;
}else{
sum2+=i;
}
}
System.out.println(sum);
System.out.println("奇数和 = "+sum1);
System.out.println("偶数和 = "+sum2);
//偶数和
sum2 = 0;
for(int i=0;i<=100;i+=2){
sum2+=i;
}
System.out.println("偶数和 = "+sum2);
//1-50当中能被4整除的数的和
sum = 0;
for(int i=1;i<=50;i++){
if(i%4==0){
sum+=i;
}
}
System.out.println(sum);
//求出 1-100当中既能被3整除又能被5整除还能被2整除的和,
sum = 0;
for(int i=1;i<=100;i++){
if(i%3==0 && i%2==0 && i%5==0){
sum+=i;
}
}
System.out.println(sum);