循环
一段程序需要重复的多次执行
for循环
-
语法:
for(定义循环变量;判断循环条件;循环变量的改变){
//循环体
}
练习:计算1到100的和
int sum = 0;//定义保存结果的变量,初始值为0不影响加法运算的结果 for (int i =1; i <= 100; i++){ sum += i;//每次循环累加循环变量到sum变量上 } System.out.println(sum);
练习:打印出1~100之间奇数的和
for (int i = 1; i <= 100; i++){ if (i % 2 !=0){//if条件块里面如果只有一条语句,可以省略大括号 System.out.println(i); } }
-
循环变量递减
倒序输出10~1
for (int i = 10; i >= 1; i--){ System.out.println(i); }
-
多个循环变量
for (int i = 0, j = 10; i < j; i++,j--){ System.out.println(i+ ","+j); }
-
for循环小括号里面的表达式都可以省略
-
退出循环的命令
-
continue跳出本次循环,继续执行下一次循环
for (int i = 0; i < 10; i++) { if (i == 5){ //continue跳出本次循环,继续执行下一次循环 continue; } System.out.println(i); }
-
break
for (int i = 0; i < 10; i++) { if (i == 5) { //break直接终止(结束)整个循环,剩余的还没有循环完的次数不再执行 break; } System.out.println(i); } System.out.println("for循环后面的语句");
-
return
for (int i = 0; i < 10; i++) { if (i == 5) { //return结束整个方法,后面的所有语句都不再执行(不仅是for循环) return; } System.out.println(i); } System.out.println("for循环后面的语句");
-
while循环
跟for循环非常类似,两种循环在大多数情况下可以相互循环,循环次数未知的情况下用while多一些
-
语法:
-
条件表达式为true,循环体执行;为false,循环结束
-
while循环也支持continue,break等命令
-
while(条件表达式){
//循环体
}
Scanner scanner = new Scanner(System.in); int weight = 120; while (weight > 100){ System.out.println("努力减肥...."); System.out.println("请输入您的体重:"); weight = scanner.nextInt(); }
do while循环
do while和while类似,区别在于do while至少执行一次
-
语法 :
-
至少会执行一次循环
-
while后面必须要加分号
-
do while 也支持continue和break等命令
do{
//循环体
}while(条件表达式);
int t;//变量定义到do的外面,后面的while语句才能访问这个变量 do { System.out.println("跑一圈"); double random = Math.random();//返回一个0~1之间的随机数(小数) System.out.println(random); t = (int) (random * 150);//得到0~150的整数 }while (t > 60);
-
练习:计算1+1/2+1/3.....+1/888的和
int sum = 0; for (int i = 1; i <=888; i++){ sum = sum + (1/i); } System.out.println(sum);
循环的嵌套
循环体里面又有循环语句,称为循环嵌套
int sum = 0; for (int i = 0; i < 88; i++){ for (int j = 0; j < 7; j++){ sum++; } } System.out.println(sum);
练习:打印九九乘法表
for (int i =1; i <= 9; i++){ for (int j = 1; j <= i; j++){ System.out.print(j + "x" + i + "=" + (j * i) + "\t"); } //换行 System.out.println(""); }