Java程序设计中引入了选择语句。选择语句总共有两种常见的形式:if语句,和switch语句。
1. if语句
(1)if单选择结构
if(比较表达式或者是boolean类型的值)
{
语句体;
}
执行流程:
先计算比较表达式的值,看其返回值是true还是false。 如果是true,就执行语句体;
如果是false,就不执行语句体;
(2) if-else双选择结构
if语句的格式2
if(比较表达式) {
语句体1;
}else {
语句体2;
}
执行流程:
首先计算比较表达式的值,看其返回值是true还是false。
如果是true,就执行语句体1;
如果是false,就执行语句体2;
示例:
im**por**t java.util.Scanner;
public class heng {
public static void main(String[] args) {
Scanner ac= new Scanner(System.in);
System.out.println("请输入第一个数字");
int x=ac.nextInt();
int y=0;
if (x>=3)
y = 2*x + 1;
else
y=3*x;
System.out.println("y="+y);
}
}
(3) if-else if-else多选择结构
if(比较表达式1) {
语句体1;
}else if(比较表达式2) {
语句体2;
}else if(比较表达式3) {
语句体3;
}
...
else {
语句体n+1;
}
执行流程:
首先计算比较表达式1看其返回值是true还是false,
如果是true,就执行语句体1,if语句结束。
如果是false,接着计算比较表达式2看其返回值是true还是false,
如果是true,就执行语句体2,if语句结束。
…
注意:当只要有一个条件满足时,if语句结束。else是可以省略,但是不建议省略。
示例:
import java.util.Scanner;
public class heng {
public static void main(String[] args) {
Scanner ac= new Scanner(System.in);
System.out.println("请输入第一个数字");
int x=ac.nextInt();
int y=0;
if (x>=3)
y = 2*x + 1;
else if (-1<=x&x<3)
y = 2*x;
else if (x<-1)
y = 2*x-1;
System.out.println("y="+y);
}
}
2. switch语句
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
case 值3:
语句体3;
break;
....
default:
语句体n+1;
break;
}
执行流程:
先计算表达式的值
然后和case后面的匹配,如果匹配成功就执行对应的语句,遇到break就会结束,否则执行default控制的语句
注意:
Switch表达式的取值:byte,short,int,char;JDK5以后可以使用枚举,JDK7以后可以是String。
Case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的。
示例:
import java.util.Scanner;
public class heng {
public static void main(String[] args) {
Scanner ac= new Scanner(System.in);
System.out.println("请输入第一个数字");
int a=ac.nextInt();
System.out.println("请输入第二个个数字");
int b=ac.nextInt();
switch(a){
default:
b++;
break;
case 3:
b++;
break;
case 4:
b++;
break;
}
System.out.println("y="+b);
}
}
输入
3
4
结果为5