本文是《Java 入门指南》的第十六篇文章,介绍了 Java 的 for 循环。
for 循环
定义:
for(初始化;循环条件;更新){
//循环内容
}
以下是 for 循环的步骤:
- 初始化变量。
- 进入循环体,执行循环内容。
- 更新变量。
- 判断变量是否符合循环条件。
- 如果符合条件,就继续循环,直到不符合条件为止。
- 如果不符合条件,就退出循环。
for 循环的初始化、循环条件、更新可以为空,甚至三者可以同时为空。
如果三者同时为空,则这个 for 循环是一个死循环,会造成资源的浪费。
实例:
示例代码(打印 1-100 的奇数和 和 偶数和):
package com.jianrry.test;
public class Test {
public static void main(String[] args) {
//定义一个 int 类型的变量,表示奇数和。
int oddSum=0;
//定义一个 int 类型的变量,表示偶数和。
int evenSum=0;
for (int i = 0; i <= 100; i++) {
if(i%2!=0){
//等价于 oddSum=oddSum+i;
oddSum+=i;
} else {
//等价于 evenSum=evenSum+i;
evenSum+=i;
}
}
System.out.println("1-100 的奇数和为:"+oddSum);
System.out.println("1-100 的偶数和为:"+evenSum);
}
}
运行结果(打印 1-100 的奇数和 和 偶数和):
1-100 的奇数和为:2500
1-100 的偶数和为:2550
示例代码(打印 1-1000 的能被 5 整除的数,并且每行打印 3 个):
package com.jianrry.test;
public class Test {
public static void main(String[] args) {
for (int i = 1; i <= 1000; i++) {
if(i%5==0){
System.out.print(i+"\t");
}
if (i%(5*3)==0){
System.out.print("\n");
}
}
}
}
运行结果(打印 1-1000 的能被 5 整除的数,并且每行打印 3 个):
5 10 15
20 25 30
35 40 45
50 55 60
65 70 75
80 85 90
95 100 105
110 115 120
125 130 135
140 145 150
155 160 165
170 175 180
185 190 195
200 205 210
215 220 225
230 235 240
245 250 255
260 265 270
275 280 285
290 295 300
305 310 315
320 325 330
335 340 345
350 355 360
365 370 375
380 385 390
395 400 405
410 415 420
425 430 435
440 445 450
455 460 465
470 475 480
485 490 495
500 505 510
515 520 525
530 535 540
545 550 555
560 565 570
575 580 585
590 595 600
605 610 615
620 625 630
635 640 645
650 655 660
665 670 675
680 685 690
695 700 705
710 715 720
725 730 735
740 745 750
755 760 765
770 775 780
785 790 795
800 805 810
815 820 825
830 835 840
845 850 855
860 865 870
875 880 885
890 895 900
905 910 915
920 925 930
935 940 945
950 955 960
965 970 975
980 985 990
995 1000
示例代码(打印九九乘法表):
package com.jianrry.test;
public class Test {
public static void main(String[] args) {
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(i+"*"+j+"="+(i*j)+"\t");
}
System.out.print("\n");
}
}
}
运行结果(打印九九乘法表):
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
示例代码(打印三角形):
package com.jianrry.test;
public class Test {
public static void main(String[] args) {
int n=10;
for (int i = 1; i <= n; i++) {
for(int j = n; j >= i; j--){
System.out.print(" ");
}
for(int j = 1; j <= i; j++){
System.out.print("*");
}
for(int j = 1; j < i; j++){
System.out.print("*");
}
System.out.print("\n");
}
}
}
运行结果(打印三角形):
*
***
*****
*******
*********
***********
*************
***************
*****************
*******************
示例代码(打印倒三角形):
package com.jianrry.test;
public class Test {
public static void main(String[] args) {
int n=10;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(" ");
}
for (int j = n; j >= i; j--) {
System.out.print("*");
}
for (int j = n; j > i; j--) {
System.out.print("*");
}
System.out.print("\n");
}
}
}
运行结果(打印倒三角形):
*******************
*****************
***************
*************
***********
*********
*******
*****
***
*
增强 for 循环
定义:
for(声明语句 : 表达式){
//循环内容
}
声明语句:定义一个局部变量,该变量的类型和数值元素相同,该变量的作用域是整个 for 循环。
表达式:数组名,或者返回值为数组的方法名。
以下是增强 for 循环的步骤:
- 定义一个局部变量。
- 依次取出数组中的元素,并给局部变量赋值。
- 进入循环体,执行循环内容。
- 重复以上步骤,直到数组中的元素全部取出为止。
- 如果数组中的元素全部取出,就退出循环。
增强 for 循环 和 for 循环是等价的,甚至可以相互转换。
实例:
示例代码:
package com.jianrry.test;
public class Test {
public static void main(String[] args) {
//定义一个 int 类型的数组。
int[] number={10,20,30,40,50};
//增强 for 循环
for (int i:number){
System.out.print(i+"\t");
}
System.out.print("\n");
//for 循环
//数组的下标是从 0 开始的,数组中的第一个元素是 number[0]。
for (int i = 0; i < number.length; i++) {
System.out.print(number[i]+"\t");
}
}
}
运行结果:
10 20 30 40 50
10 20 30 40 50