判断语句
if语句:
if (关系表达式) {
语句体;
}
if…else语句
if (关系表达式) {
语句体1;
} else {
语句体2;
}
if…else if…else if…else语句
if (关系表达式1) {
语句体1;
} else if (关系表达式2) {
语句体2;
} else if (关系表达式3) {
语句体3;
} ……{
} else {
语句体n+1;
}
if语句和三元运算符互换
int a = 10, b = 20;
int max;
if (a > b) {
max = a;
} else {
max = b;
}
//以上内容可以改写成:
int max = a > b ? a : b;
选择语句
switch语句
switch (表达式) {
case 常量值1:
语句体1;
break;
case 常量值2:
语句体2;
break;
……
case 常量值n:
语句体n;
break;
default 常量值n+1:
语句体n+1;
break;
}
- 注意事项
1. 多个case后面的值不可重复
2. switch小括号内的类型只能是:
基础数据类型:byte / short / int / char
引用数据类型:String / enum
3. 语句的顺序没有要求,default也可以不写在最后:
在匹配第一个case的位置向下执行,直到break或整体结束
循环语句
for循环
for (初始化表达式; 布尔表达式; 步进表达式) {
循环体;
}
for (int i = 0; i < 5; i++) {
System.out.println("Java"); // 打印5次"Java"
}
while循环
初始化表达式;
while (布尔表达式) {
循环体;
步进表达式;
}
int i = 0;
while (i < 5) {
System.out.println("Java"); // 打印5次"Java"
i++;
}
do…while语句
初始化表达式;
do {
循环体;
步进表达式;
} while (布尔表达式);
int i = 0;
do {
System.out.println("Java");
i++;
} while (i < 5);
// 打印5次"Java"
do {
System.out.println("Java");
} while (false);
//虽然条件判断为false,但是do while循环会无条件执行一次循环体,即会打印一次"Java"
跳出语句
break:终止switch或循环,之后的代码都不再执行
for (int i = 1; i<=10; i++) {
//打印完两次HelloWorld之后结束循环
if(i == 3){
break;
}
System.out.println("HelloWorld"+i);
}
continue:终止当次循环,直接进行下一次循环
for (int i = 1; i <= 10; i++) {
//不打印第三次HelloWorld
if(i == 3){
continue;
}
System.out.println("HelloWorld"+i);
}
死循环
while (true) {
循环体;
}
// 将无限循环
循环嵌套
public static void main(String[] args) {
//5*8的矩形,打印5行*号,每行8个
//外循环5次,内循环8次
for(int i = 0; i < 5; i++){
for(int j = 0; j < 8; j++){
//不换行打印星号
System.out.print("*");
}
//内循环打印8个星号后,需要一次换行
System.out.println();
}
}