循环语句for
for(初始化表达式1;布尔表达式2;步进表达式4){
循环体;
}
执行顺序:1234>234…>2
1负责完成循环变量初始化
2负责判断是否满足循环条件,不满足跳出循环
3具体执行的语句
4循环后,循环条件所涉及的变量的变化情况
public class DemoFor {
public static void main(String[] args) {
//打印10遍
for(int i = 0;i < 10;i++){
System.out.println("HelloWorld" + i);
}
}
}
public class DemoFor {
public static void main(String[] args) {
int sum = 0;
//计算100内偶数和,包含100
for(int i =0;i <=100;i++){
if(i % 2 ==0){
sum += i;
}
}
System.out.println("100内偶数的和为: " + sum);
}
}
循环语句-while
初始化表达式1
while(布尔表达式2){
循环体3;
步进表达式4;
}
执行顺序:12334-234…2不满足
如果布尔表达式2不满足,则跳出循环
打印10次
public class DemoWhile {
public static void main(String[] args) {
int i = 0;
while (i < 10){
System.out.println("Hello World" + i);
i++;
}
}
}
计算100内数字和
public class DemoWhile {
public static void main(String[] args) {
int i = 0;
int sum = 0;
while (i <= 100){
sum += i;
i++;
}
System.out.println("100内数字和为:" + sum);
}
}
do while循环
初始化表达式1;
do{
循环体3;
步进表达式4;
}while(布尔表达式2);
执行顺序134>234>234…2不满足跳出循环
do…while循环特点:无条件执行一次循环体,即使循环条件false,依然执行一次,这样的循环有一定风险,初学者不建议使用;
public class DemoWhile {
public static void main(String[] args) {
int i = 0;
do{
System.out.println("hello" + i);
i++;
}while(i < 10);
}
}
三种循环的区别
1.如果条件判断从来没有满足过,,那么for循环和while循环将会执行0次,但是do-while循环会执行至少一次。
2.for循环中的变量i,在小括号当中定义,只能for循环内部才可以使用,原因是for循环结束后,该变量i就从该内存中消失,提高内存的使用使用效率;while循环和do-while循环初始化语句在循环外,所以循环之后还可以继续使用;
3.在已知循环次数的时候使用for循环,循环次数未知时,使用wile循环
跳出语句
break
使用场景:终止switch或循环for/while
在选择结构switch语句中
在循环语句中
离开使用场景的存在是没有意义的
public class DemoFor {
public static void main(String[] args) {
int sum = 0;
for(int i =0;i <=100;i++){
if(i > 100){
break;
}
}
}
}
continue
使用场景:结束本次循环,继续下一次循环
public class DemoFor {
public static void main(String[] args) {
int sum = 0;
for(int i =0;i <=10;i++){
if(i == 3 ){
continue; //不打印i=3是的hello world
}
System.out.println("hello world" + i);
}
}
}
死循环
也就是循环中条件永远为true,死循环的是永远不结束循环。例如while(true){}
比如:我们需要读取用户输入的数据,但是用户输入多少数据我们不知道,只能使用死循环,当用户不想输入数据,就可以结束循环了,如何去结束循环呢,使用跳出语句即可
嵌套循环
所谓嵌套循环,是指一个循环的循环体是另一个循环。比如for循环里面还有一个for循环,就是嵌套循环。总 共的循环次数=外循环次数*内循环次数
for(初始化表达式①; 循环条件②; 步进表达式⑦) { for(初始化表达式③; 循环条件④; 步进表达式⑥) { 执行语句⑤; } }
打印5乘8的*
public class DemoFor {
public static void main(String[] args) {
for(int i =0;i <5 ;i++){
for(int j = 0; j < 8; j++){
System.out.print("*");
}
System.out.println();
}
}
}