目录
循环结构 (定义与组成)
循环的定义:在程序中重复的执行某一特定操作。
循环的组成:
初始化变量语句:即程序还未执行循环时的初始变量
条件判断语句:给初始化变量创造判断条件 并判断初始化变量是否满足以及在改变变量值之后是否依旧满足。满足则往下执行,不满足则停止执行
循环体语句:用于表示需要重复循环的语句 简单说就是循环要反复执行的东西
条件控制语句:即改变变量,这里的变量指的是循环语句中的初始化变量
for循环
for(初始化语句;条件判断语句;条件控制语句){
循环体语句;
}
//for循环格式如上
//使用for循环输出5次hellojava
for(int a =1;a<6;a++){
System.outprintln("hellojava");
}
//int a =1表示声明一个for循环的初始变量
//a<6 表示for循环中的条件判断语句 由该语句来对初始化变量的值进行判断 为true则执行 false则终止
/*a++ 表示for循环的条件控制 即改变变量 它会将改变后的变量值重新提交到条件判断语句进行判断 如果不满足条件判断语句的要求 则终止循环 满足的话则继续循环
*/
while循环
初始化变量;
while(条件判断语句){
循环体语句;
条件控制语句;
}
//while循环语句的格式如上
//需求 世界最高山峰是珠穆朗玛峰(8844.43米=8844430毫米)
//假如我有一张足够大的纸,它的厚度是0.1毫米 请问我折叠多少次
//可以和珠穆朗玛峰一样高 要求使用while循环语句实现
//解析 首先定义一个变量值为0的变量用于存储次数 其次由于纸张每折叠一次 厚度是原来的两倍 所以条件控制语句就需要使用*=2实现 然后条件判断的话就是==8844430
//代码实操
int a =0;//用于存储次数
double b =0.1;//初始化变量 这里表示的是纸张开始的厚度
while(b<=8844430.0){
a++;//每满足一次条件 变量a的值就自加
b*=2;//改变变量
}
//输出数据
System.out.println("您需要折叠"+a+"次");
//输出结果:您需要折叠27次
/*这里需要注意的是 因为初始化变量是使用double类型进行定义的 所以在进行条件判断的时候的数值也一定要属于double类型
*/
do...while循环
初始化语句;
do{
循环体;
条件控制语句;
}
while(条件判断语句)
//do...while循环语句格式如上
//使用do...while在控制台上输出5次helloworld
int a =1;//初始化变量
do{
System.out.println("helloworld");//循环体语句
a++;//条件控制语句 改变初始化变量
}
while(a<6);//条件判断语句
三种循环的区别
for循环和while循环都是先对初始化的变量进行条件判断,结果为true才执行循环体。
而do...while循环则是先执行循环体,然后再改变变量 再将改变后的变量提交给条件判断语句进行判断。所以说使用do...while循环的话,循环体必然会执行一次
for循环和while循环
for循环和while循环因为两者的语法结构不一样,所以在初始化变量的值上面,for循环中的初始化变量无法被外界调用,而while循环的初始化变量可以被外界调用
for(int a =1; a<3;a++){
System.out.println("java");
}
System.out.println(a);//程序报错 因为变量a位于for循环的结构体中 无法被外部调用 仅限for循环使用
int a =1;//初始化变量
while(a<3){
System.out.println("java");//循环体
a++;//条件控制 改变变量
}
System.out.println(a);
//可以输出变量a 因为变量a是被定义在while循环外部的 所以不是while循环独有的
/*但是变量a被while循环优先调用 所以按照程序的顺序结构 变量a会在进行while循环之后 直到while循环终止 然后将经过while循环之后最终的值留给后面代码的调用
所以这里输出的a的值就不会是1,而是2 因为变量a先进行while循环 在while循环中进行了变量的改变 直到它不满足于while的条件 便会被while循环舍弃留给后面的代码调用
*/
三种循环的死循环格式
死循环就是没有正确的定义循环的条件判断或者始终默认为true导致程序一直执行循环体的操作
for循环的死循环
for(;;){
循环体;
}
//因为这里没有设置for循环的初始化变量和条件判断 所以程序会直接跳过初始化变量
//并且默认条件判断为true 然后一直执行循环体
while循环的死循环
while(true){
System.out.println("java");
}
//如上所示 while循环中的条件判断已经默认为true了,所以会一直执行循环体
do...while循环的死循环
do{
System.out.println("java");
}
while(true);
//do...while循环的死循环和while循环的死循环差不多 都是在条件判断的地方直接输入true
//使其一直默认为true 从而达到死循环的效果
三种循环的死循环中最常用的是while循环的死循环。