一、概述
- if语句用于判断不同的条件,根据判断的结果执行不同的代码。
- if语句判断的条件可以是关系运算、逻辑运算,if语句根据逻辑值true、false来决定执行不同的代码。
- if语句在开发中使用极为广泛。
二、使用格式
1、格式一
if(条件表达式){
条件表达式结果是true时,执行本代码块
如果代码块中只有一条语句,可以省略大括号。
}
示例:
if (5>3) {
System.out.println("5大于3");
}
【示例】输入考试成绩,若达到60分以上,则显示成绩合格。
代码
public class Test22 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("输入分数:");
int score=scanner.nextInt();
if (score>=60) {
System.out.println(score+"成绩合格");
}
}
}
结果:
输入分数:
60
60成绩合格
2、格式二
if(条件表达式){
条件表达式结果是true时,执行本代码块
}else{
条件表达式结果是false时,执行本代码块
}
示例:
if (5<3) {
System.out.println("5小于3");
}else{
System.out.println("5大于3");
}
【示例】键盘输入两个数,找出其中最大的数。
代码
public class Test23 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("输入第一个数:");
int a=scanner.nextInt();
System.out.println("输入第二个数:");
int b=scanner.nextInt();
if (a>b) {
System.out.println(a+"是最大数");
}else {
System.out.println(b+"是最大数");
}
}
}
结果:
输入第一个数:
6
输入第二个数:
3
6是最大数
3、格式三
if(条件表达式1){
条件表达式1结果是true时,执行本代码块
}else if(.......){
.......
}else if(条件表达式n){
条件表达式n结果是true时,执行本代码块
}else{
条件表达式n结果是false时,执行本代码块
}
【示例】键盘输入5分制分数,根据以下标准给出成绩等级。
5分:优秀
4分:良好
3分:及格
0~2分:不及格
代码
public class Test24 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("输入5分制分数:");
int score=scanner.nextInt();
if (score==5) {
System.out.println("优秀");
}else if (score==4) {
System.out.println("良好");
}else if (score==3) {
System.out.println("及格");
}else if (score>=0&&score<=2) {
System.out.println("不及格");
}else {
System.out.println("输入的不是5分制分数");
}
}
}
结果一:
输入5分制分数:
4
良好
结果二:
输入5分制分数:
10
输入的不是5分制分数
三、案例
【示例】键盘输入java、android和sql三科分数,找出其中最高分。
解法一:
代码
public class Test25 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("输入java分数:");
int java=scanner.nextInt();
System.out.println("输入android分数:");
int android=scanner.nextInt();
System.out.println("输入sql分数:");
int sql=scanner.nextInt();
if (java>=android && java>=sql) {
System.out.println("最高分:"+java);
}else if (android>=sql) {
System.out.println("最高分:"+android);
}else {
System.out.println("最高分:"+sql);
}
}
}
结果:
输入java分数:
89
输入android分数:
78
输入sql分数:
100
最高分:100
解法二:
代码
public class Test26 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("输入java android sql分数:");
int java=scanner.nextInt();
int android=scanner.nextInt();
int sql=scanner.nextInt();
int maxScore=java;
if (maxScore<android) {
maxScore=android;
}
if (maxScore<sql) {
maxScore=sql;
}
System.out.println("最高分:"+maxScore);
}
}
结果:
输入java android sql分数:
90 92 88
最高分:92