1、简答说明
for(初始化语句; 条件判断语句; 条件控制语句){
循环体语句:
}
(1)执行初始化语句
(2)执行条件判断语句,看其结果是true还是false
(3)如果是false ,循环结束,如果是true ,继续执行执行循环体语句
(4)执行条件控制语句
(5) .回到(2)继续
2、案例:输出所有三位水仙花数并且每行输出2个数
(1)水仙花数:就是该数等于每一位上数的立方和。
(2)分析
3、参考代码
public class Test02{ //类名定义(有public的必须和文件名同名)
public static void main(String[] args){ //主函数定义
int count = 0; //用来计数
//(1)通过循环获取所有三位数100-999
for(int i=100; i<=999; i++){
//(2)将每一个三位数拆分为个位,十个,百位
int ge = i%10;
int shi = i/10%10;
int bai = i/10/10%10;
//(3)再次判断,是否满足每位立方和等于原来那个数i
if(((ge*ge*ge)+(shi*shi*shi)+(bai*bai*bai) )==i){
System.out.print(i + " ");
count++;
if(count==2){
count=0; //将count计数变量置零
System.out.println(); //输出一个空格
}
}
}
}
}
1、简单说明
变量定义;
while(条件判断){
执行语句;
更改变量值;
}
do{
执行语句;
更改变量值;
}while(条件判断);
while是条件满足了才执行,do while 是先执行一次,再去判断条件是否满足,如果满足则继续执行,不满足跳出。
2、案例:用一张足够大的0.1毫米厚纸折叠多少次可以达到珠穆朗玛峰的高度
(1)定义计数器变量,准备用于统计折叠的次数
(2)准备纸张厚度变量,珠峰高度变量
(3)折叠的过程是多次,所以使用循环,不确定循环次数,使用while循环
(4)进入循环的条件为(厚度没有超过珠峰的高度就折叠)
(5)每折叠-次,计数器就要自增(查效);循环结束后,打印计数器变量即可。
3、参考代码
public class Test02{ //类名定义(有public的必须和文件名同名)
public static void main(String[] args){ //主函数定义
int count = 0; //用来计数
double paper = 0.1; //定义纸张厚度变量(初始值为0.1毫米)
double peak = 8844430; //定义珠峰高度(单位为毫米)
while(paper <= peak){
paper *= 2; //每折叠一次,高度乘2
count++;
}
System.out.println("0.1毫米的纸只要折" + count + "次就可以达到珠峰的高度了!");
}
}
1、三种循环的区别
2、for和while的区别
(1)条件控制语句所控制的自增变量,因为归属for循环的语法结构中,在for循环结束后,就不能再次被访问到了。
(2)条件控制语句所控制的自增变量,对于while循环来说不归属其语法结构中,在while循环结束后,该变量还可以继续使用。
3、三种循环的应用场景
1、for内初始化的变量,不能在for外使用
public class Test02{ //类名定义(有public的必须和文件名同名)
public static void main(String[] args){ //主函数定义
for(int i=0; i<5; i++){ //初始化变量i(定义)
System.out.println(i); //在for内使用变量i
}
//在for外使用for内初始化的变量i
System.out.println(i); //按理说应该是5,但实际上是不能编译通过的
}
}
按理说应该是5,但实际上是不能编译通过的。因为for内初始化(定义)的变量在for执行结束后,就会被销毁。因此即使再定义一个也不会冲突。
public class Test02{ //类名定义(有public的必须和文件名同名)
public static void main(String[] args){ //主函数定义
for(int i=0; i<5; i++){ //初始化变量i(定义)
System.out.println(i); //在for内使用变量i
}
//在for外使用for内初始化的变量i
//System.out.println(i); //按理说应该是5,但实际上是不能编译通过的
for(int i=0; i<1; i++){ //初始化变量i(定义)
System.out.println("我是重新定义的i" + i);
}
}
}
2、死循环后面的语句将成为无法访问的语句
(1)死循环格式
···
for( ; {}
while(true){}
do{}while(true);
···
(2)while死循环是最常用的,使用Ctrl+C组合键可以停止死循环的继续执行。
(3)无法访问的语句
public class Test02{ //类名定义(有public的必须和文件名同名)
public static void main(String[] args){ //主函数定义
do{
System.out.println(" I am continuing~ ");
}while(true);
System.out.println(" I am done! ");
}
}