循环分类
for循环;while循环;do whlie循环
for循环
for(初始化语句; 条件判断语句; 条件控制语句){
循环语句:
}
(1)初始化语句;
(2)条件判断语句;如果是true,执行循环语句;如果false,for循环结束。(true or false)
(3)循环语句;
(4)条件控制语句;再回到(2)直到false结束。
问题1:求和变量是否可以定义在循环内部?
原因1:每一次进入循环体,sum变量都会重新置为0;之前累加的都会丢失。
原因2:从语法层面讲,在内部定义的变量,在循环结束后会从内存中消失。
解决for循环的弊端:
初始化语句可以写在for循环的外面,循环结束后,初始化语句中的变量还可以使用。
int i = 0;
for(; i<=5; i++){
System.out.println("*");
}
for的复杂
一条语句可以定义多个变量,中间使用逗号隔开;
for(int a=0,b=0; a<=10 && b<=10; a+=2, b+=2 ){
System.out.println(a+"111"+b);
}
个位数字:使用数值%10;
十位数字:使用数值/10%10;
百位数字:使用数值/1010%10;
千位数字:使用数值/10/10/10%10
while循环
while(条件判断语句){
循环体语句;
}
完整格式为:
(1)初始化语句;
while((2)条件判断语句){
(3)循环体语句;
(4)条件控制语句;
}
(1)-->(2)-->(3)-->(4)-->(2)-->(3)-->(4)知道(2)为false结束;
注意事项:while(ture); for(;;); 死循环
初始化;
do {
循环体语句;
条件控制语句;
}while(条件判断语句);//do while 至少执行一次
三者的区别:
for和while都是先判断条件语句是否成立,才决定执行循环体。do while 是先执行一次在判断。
for 和 while 的条件控制的自增变量,对于while循环来说是在语法结构之外,while循环结束后还可以继续使用。
死循环:
for(;;){}
while(true){}
do{}while(true);
死循环之后的代码无法执行
跳出死循环 break; continue;