for循环
for (声明变量;循环条件;迭代){
被执行的代码块
}
执行规律:
1)首先执行1次初始值代码
2)判断循环条件是否成立,如果循环条件为true,则执行{}里的循环操作代码,
执行循环操作后,进行迭代,迭代完再进行循环条件判断,根据循环条件的结果决定否继续执行循环操作
如果循环条件为false,则结束整个for循环结构,继续往下执行for循环结构之后的代码
while循环
声明循环变量
while(循环判断){
被循环的代码块
迭代
}
do-while 循环
do{
被执行的代码
迭代部分
}while(循环条件);
执行规则
进入{}里执行1次循环操作和迭代部分,执行完之后进行条件判断,如果条件为true,返回{}里执循环操作和迭代部分如果条件为false,则结束整个do-while循环结构,继续往下执行do-while循环结构后面的代码
for while 循环的不同点
1.for循环不可以在外部使用,while可以
2.for循环i变量在结束后被销毁,更合理的使用内部空间,推荐使用for循环
3.知道循环次数用for循环,不知道循环此时用while循环
break continue return 区别
练习
现有一张足够大的纸,厚度是1cm,需要折叠多少次能超过珠穆朗玛峰的高度(8848m)
public static void main(String[] args) {
//定义珠峰高度
int zf = 884800;
//定义折叠次数
int zdcs = 1 ;
//定义纸张厚度
int zzhd = 1;
while (zzhd<=zf){
zzhd =zzhd *2;
zdcs++;
}
if (zzhd>zf){
//因为while执行条件(zzhd<=zf)不满足时循环跳出,但是zdcs已经多+1所以结果需要-1
System.out.println("最少折叠次数是:"+(zdcs-1));
}else{
zdcs+=1;
System.out.println("最少折叠次数是:"+zdcs);
}
}
显示三角形图案,使用*号打印如图所示。
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入一个数:");
int n = input.nextInt();
//外循环控制行数
for (int i = 1; i <= n; i++) {
//内循环控制打印*个数
for (int j = 1; j <= i; j++) {
System.out.print("*");
}
System.out.println();
}
}