本章内容:

1.if判断
2.switch语句
3.while循环
4.do-while循环
5.for循环与for-each循环
6.break与continue

1.if判断

if语句的基本语法是:

1
2
3
4
5
6
7
8
9
if (条件) {
// 条件一满足时执行
}
else if(条件) {
// 条件二满足时执行
}
else{
// 条件不满足时执行
}

拓:浮点数相等判断。浮点数在计算机中常常无法精确表示,并且计算可能出现误差,因此,判断浮点数相等用==判断不靠谱

1
2
3
4
5
6
7
8
9
10
11
public class Main {
public static void main(String[] args) {
double x = 1 - 9.0 / 10;
// 利用Math的绝对值之差
if (Math.abs(x - 0.1) < 0.00001) {
System.out.println("x is 0.1");
} else {
System.out.println("x is NOT 0.1");
}
}
}

2.switch语句

1
2
3
4
5
6
7
8
9
10
11
12
13
14
switch (option) {
case 3:
...
break;
case 2:
...
break;
case 1:
...
break;
default:
...
break;
}

3.while循环

while循环在每次循环开始前,首先判断条件是否成立。如果计算结果为true,就把循环体内的语句执行一遍,如果计算结果为false,那就直接跳到while循环的末尾,继续往下执行。

1
2
3
4
5
6
7
8
9
10
11
public class Main {
public static void main(String[] args) {
int sum = 0; // 累加的和,初始化为0
int n = 1;
while (n <= 100) { // 循环条件是n <= 100
sum = sum + n; // 把n累加到sum中
n ++; // n自身加1
}
System.out.println(sum); // 5050
}
}

while循环是先判断循环条件,再循环,因此,有可能一次循环都不做。

4.do…while循环

在Java中,while循环是先判断循环条件,再执行循环。而另一种do while循环则是先执行循环,再判断条件,条件满足时继续循环,条件不满足时退出。它的用法是:

1
2
3
do {
执行循环语句
} while (条件表达式);

可见,do while循环会至少循环一次。

5.for循环

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class Main {
public static void main(String[] args) {
int[] ns = { 1, 4, 9, 16, 25 };
int sum = 0;
for (int i=0; i<ns.length; i++) {
System.out.println("i = " + i + ", ns[i] = " + ns[i]);
sum = sum + ns[i];
}
System.out.println("sum = " + sum);
}
}
/*
i = 0, ns[i] = 1
i = 1, ns[i] = 4
i = 2, ns[i] = 9
i = 3, ns[i] = 16
i = 4, ns[i] = 25
sum = 55
*/

for-each循环

本质上为增强for循环:用来遍历集合与数组,它是普通for循环语句的特殊简化版。但是,如果你希望使用数组的索引,那么增强版的 for 循环无法做到。

1
2
3
4
5
6
7
8
9
10
格式:
for(集合/数组的数据类型 变量名:集合名/数组名){
执行语句
}

int[] arrayDemo = {1, 2, 4, 7, 9, 192, 100};
for(int x: arrayDemo){
System.out.print(x + ", ");
}
// 结果为:1, 2, 4, 7, 9, 192, 100

6.break与continue

break:会跳出整个循环,也就是整个循环都不会执行了。存在多层循环时,会直接退出至最外层循环。
continue:提前结束本次循环,直接继续执行下次循环。存在多层循环时,只会提前结束本次循环所在的循环体。


 评论

联系我 | Contact with me

Copyright © 2019-2020 谁知你知我,我知你知深。此恨经年深,比情度日久

博客内容遵循 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 协议