判断
if
if(布尔表达式)
{
//如果布尔表达式为true将执行的语句
}
if…else
if(布尔表达式){
//如果布尔表达式的值为true
}else{
//如果布尔表达式的值为false
}
if…else if…else
if(布尔表达式 1){
//如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){
//如果布尔表达式 2的值为true执行代码
}else if(布尔表达式 3){
//如果布尔表达式 3的值为true执行代码
}else {
//如果以上布尔表达式都不为true执行代码
}
选择
Switch
switch case 语句有如下规则:
-
switch 语句中的变量类型可以是: 整型及其兼容类型 以及enum枚举类型 从 Java SE 7 开始,switch 支持字符串 String 类型,同时 case 标签必须为字符串常量或字面量。
-
case 语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量。
-
当遇到 break 语句时,switch 语句终止。程序跳转到 switch 语句后面的语句执行。case 语句不必须要包含 break 语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句。
-
switch 语句可以包含一个 default 分支,该分支一般是 switch 语句的最后一个分支(可以在任何位置,但建议在最后一个)。default 在没有 case 语句的值和变量值相等的时候执行。default 分支不需要 break 语句。
switch (表达式) {
case 常量1:
语句体1;
break;
case 常量2:
语句体2;
break;
case 常量n:
语句体n;
break;
default:
语句体n + 1;
break;
}
例子:注意例子中与上图的不同处
public static void main(String[] args) {
double score;//分数
int x;
System.out.println("请输入您的成绩:");
Scanner input = new Scanner(System.in);
score = input.nextDouble();
x = (int) (score/10);
switch(x){
case 0,1,2,3,4,5-> System.out.println("不及格");
case 6-> System.out.println("及格");
case 7-> System.out.println("中等");
case 8-> System.out.println("良好");
case 9-> System.out.println("优秀");
case 10-> System.out.println("优秀");
}
}
总结:Switch都可以转换为if else结构,但后者不一定能转换为前者。一般当条件表达式为一个确定的值,为等值判断,用Switch。当条件表达式为一个数值范围时,用if else。
循环
循环分为for、while、do while
for循环
for (初始化语句; 条件语句; 自增/自减语句) {
循环体;
}
for循环的执行顺序是初始化语句—>条件语句—>循环体—>自增/自减语句—>条件语句,直到条件不成立则停止循环。也可以通过break和continue跳出循环,break是结束整个for循环,而continue是结束本次循环,执行下一次循环。
举例说明
break
for (int i = 0; i < 10; i++) {
if(i==6)
break;
System.out.println(i);
}
结果为:
0
1
2
3
4
5
continue
for (int i = 0; i < 10; i++) {
if(i==6)
continue;
System.out.println(i);
}
结果为:
0
1
2
3
4
5
7
8
9
从上面两个结果就可以看出break和continue的区别,在其他循环结构中也是同样的用法
while循环
初始化语句;
while (布尔表达式){
循环体;
自增/自减表达式:
}
while循环的执行顺序是初始化语句——>条件语句——>自增/自减表达式——>条件语句……直到条件不满足结束循环
int j=0;
while (j<10){
System.out.println(j);
j++;
}
结果是:
0
1
2
3
4
5
6
7
8
9
do…while循环
do…while循环执行顺序有些不同:初始表达式—>循环体—>自增/自减表达式—>条件语句—>循环体—>自增/自减表达式—>条件语句……直到条件不符合停止循环。
注意:do while循环无论条件是否成立,循环体都会被执行一次
初始表达式;
do{
循环体;
自增/自减表达式;
}while (布尔表达式);
int k=5;
do{
System.out.println("Hello World");
k++;
}while (k<0);
System.out.println(k);
结果是:
Hello World
6
这里可以看到k的值是不符合条件语句的,但是循环体还是执行了一次。