1. If 单选择结构(单If判断):
语法:
if(布尔值表达式) {
//布尔值表达式结果为true时,要执行的语句。
}
示例:
ackage com.zctou.structure;
import java.util.Scanner;
public class IfDemo01 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in) ;
System.out.println("请输入内容: ");
String s = scanner.nextLine();
//equals: 判断字符串是否相等用到equals
if(s.equals("Hello")) {
System.out.println("Hello");
}
System.out.println("End!");
scanner.close();
}
}
输出:
ddsf
End!
------
请输入内容:
Hello
End!
可以看到,程序从上往下顺序执行(顺序结构),只有当s.equals("Hello")
为true
时,才执行if
里面的语句。
2. If 双选择结构(If...Else...)
语法:
if(布尔表达式){
//布尔值表达式结果为true时,要执行的语句。
} else {
//布尔值表达式结果为false时,要执行的语句。
}
示例:
package com.zctou.structure;
import java.util.Scanner;
public class IfDemo02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in) ;
//
String status = scanner.nextLine();
if(status.equals("success")) {
System.out.println("收购成功,准备向对方支付100W");
} else {
System.out.println("收购失败,自己找人开发去吧~!");
}
scanner.close();
}
}
输出:
收购成功请输入: success;收购失败的话你随意!
success
收购成功,准备向对方支付100W
----------
收购成功请输入: success;收购失败的话你随意!
x
收购失败,自己找人开发去吧~!
3. If 多选结构(if...else if... else)
语法:
if (布尔表达式1) {
//布尔值表达式1结果为true时,要执行的语句。
} else if (布尔表达式2) {
//布尔值表达式2结果为true时,要执行的语句。
} else if (布尔表达式3){
//布尔值表达式3结果为true时,要执行的语句。
} else {
//布尔值表达式1,2,3结果都不为true时,要执行的语句。
}
示例:
package com.zctou.structure;
import java.util.Scanner;
public class IfDemo03 {
public static void main(String[] args) {
//if...else if... else 多选结构演示
Scanner scanner = new Scanner(System.in);
//定义成绩 score
double score = 0 ;
//提示输入成绩:
System.out.println("请输入一个成绩: ");
//接收用户成绩,合法输入正常赋值,不合法返回 score = -1;
if(scanner.hasNextDouble()) {
score = scanner.nextDouble() ;
} else {
System.out.println("输入的是什么鬼!");
score = -1 ;
}
//给成绩分级
if(score == 100) {
System.out.println("恭喜你,变身宇宙超人,成绩:" + score);
} else if (score>=90 && score <100) {
System.out.println("A级成绩: " + score);
} else if (score>=80 && score <90) {
System.out.println("B级成绩: " + score);
} else if (score>=60 && score <80) {
System.out.println("C级成绩: " + score);
} else if (score>=0 && score <60) {
System.out.println("不及格,成绩: " + score);
} else {
//成绩不在0-100范围内,报错
System.out.println("!!成绩不合法:你不会是火星来的吧?");
}
scanner.close();
}
}
输出:
请输入一个合法的成绩:
xc22
输入的是什么鬼!
成绩不合法:你不会是火星来的吧?!
----------
请输入一个合法的成绩:
22
不及格,成绩: 22.0
------------
请输入一个合法的成绩:
100
恭喜你,变身宇宙超人,成绩:100.0
可以看到, 一个if 语句只能跟一个 else语句else if 在if 与 else 语句中间,一旦某个if 或 else if的布尔表达式为真,则执行
{}
里面的语句,不会再执行其他 if 或else if。