Java日记03
while循环
while(布尔表达式){
//循环内容
}
- 只要布尔表达式为true,循环就会一直执行下去
- 大多数情况是会让循环停下来,我们需要一个让表达式失效的方式来结束循环
- 循环条件为true就会无限循环——死循环。死循环会影响程序性能造成程序卡死崩溃
计算1+2+3+…+100=?
package 循环;
public class WhileDemo01 {
public static void main(String[] args) {
//计算1+2+3+....+100=?
int a=0;
int sum=0;
while(a<=100) {
sum=sum+a;
a++;
System.out.print(a+" ");
System.out.println(sum);
}
}
}
运行结果
1 0
2 1
3 3
4 6
5 10
6 15
7 21
8 28
9 36
10 45
11 55
12 66
13 78
14 91
15 105
16 120
17 136
18 153
19 171
20 190
21 210
22 231
23 253
24 276
25 300
26 325
27 351
28 378
29 406
30 435
31 465
32 496
33 528
34 561
35 595
36 630
37 666
38 703
39 741
40 780
41 820
42 861
43 903
44 946
45 990
46 1035
47 1081
48 1128
49 1176
50 1225
51 1275
52 1326
53 1378
54 1431
55 1485
56 1540
57 1596
58 1653
59 1711
60 1770
61 1830
62 1891
63 1953
64 2016
65 2080
66 2145
67 2211
68 2278
69 2346
70 2415
71 2485
72 2556
73 2628
74 2701
75 2775
76 2850
77 2926
78 3003
79 3081
80 3160
81 3240
82 3321
83 3403
84 3486
85 3570
86 3655
87 3741
88 3828
89 3916
90 4005
91 4095
92 4186
93 4278
94 4371
95 4465
96 4560
97 4656
98 4753
99 4851
100 4950
101 5050
输出1~100
package 循环;
public class WhileDemo02 {
public static void main(String[] args) {
//输出1~100
int a=0;
while(a<100) {
a++;
System.out.println(a);
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
Do…while循环
do{
//代码语句
}while(布尔表达式);
- 对于while语句而言,如果不满足条件则不能进入循环
- do…while与while相似,但do…while至少会执行一次
- while先判断后执行,do…while先执行后判断
用dowhile计算1~100的和
package 循环;
public class DoWhileDemo01 {
public static void main(String[] args) {
//1+2+3+...+4=?
int a=0;
int sum=0;
do {
sum=sum+a;
a++;
}while(a<=100);
System.out.println(sum);
}
}
运行结果
5050
for循环
for(初始化;布尔表达式;更新){
//代码语句
}
0~100的奇数和与偶数和
package 循环;
public class ForDemo01 {
public static void main(String[] args) {
int odd=0;
int even=0;
for(int i =0;i<=100;i++){
if(i%2==0) {
even=even+i;
}else {
odd=odd+i;
}
}
System.out.println("奇数的和;"+odd);
System.out.println("偶数的和"+even);
}
}
运行结果
奇数的和;2500
偶数的和2550
输出1~1000之间被5整除的数
package 循环;
public class ForDemo02 {
public static void main(String[] args) {
for(int i=0;i<1000;i++) {
if(i%5==0) {//满足此条件输出i
System.out.print(i+"\t");
}
if(i%15==0) {//满足此条件换行,
System.out.println();//=System.out.print(\n");
}
}
//print 输出后不换行
//println 输出后换行
}
}
运行结果
0
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
输出九九乘法表
package 循环;
public class ForDemo03 {
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.println();
}
}
}
运行结果
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
break 与continue
break
在任何循环语句的主体部分,均可用break控制循环的流程,break用于强制退出循环,不执行循环中剩余的语句。
package 循环;
public class BreakDemo {
public static void main(String[] args) {
for(int i=1;i<50;i++) {
if(i%5==0) {
System.out.println(i);
break;
}
}
}
}
运行结果
5
continue
用于循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定
package 循环;
public class BreakDemo {
public static void main(String[] args) {
for(int i=1;i<50;i++) {
if(i%5==0) {
System.out.println(i);
continue;
}
}
}
}
运行结果
5
10
15
20
25
30
35
40
45
打印三角形
package 循环;
public class SquareDemo {
public static void main(String[] args) {
for(int i=1;i<=5;i++) {
for(int j=5;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.println();
}
}
}
运算结果
*
***
*****
*******
*********