If语句主分为四种:
1.If单分支
2.if双分支
3.if多分支
4.if嵌套
一、if单分支
案例:如果小明同学考试及格,则请全班吃饭
import java.util.Scanner; //1.导包 导入控制台的类
public class If1{
public static void main(String[] args){
/*
语法结构:
if(关系表达式){
语句;
}
执行流程:关系表达式成立,则执行括号中的语句;不成立则不执行
案例:如果小明同学考试及格,则请全班吃饭
*/
Scanner sc = new Scanner(System.in); //实例化对象
System.out.print("请输入考试成绩:");
int score = sc.nextInt();
if(score>=60){
System.out.println("考试及格,请全班吃饭");
}
}
}
二、if双分支
案例:如果小明考试及格,则请全班吃饭;否则,全班安慰他
import java.util.Scanner; //1.导包 导入控制台的类
public class If1{
public static void main(String[] args){
//if双分支结构:if,else
//语法结构:
/*
if(关系表达式){
语句1;
}else{
语句2;
}
执行流程:如果关系表达式成立,则执行语句1;否则,执行语句2
*/
//案例:如果小明考试及格,则请全班吃饭;否则,全班安慰他
System.out.print("请输入考试成绩:");
Scanner sc = new Scanner(System.in);
int score = sc.nextInt();
if(score>=60){
System.out.println("考试及格,请全班吃饭");
}else{
System.out.println("很遗憾,不及格;以后就习惯了!");
}
}
}
三、if多分支
案例:根据钱包厚度决定请吃饭豪华度
1万以上---海鲜大餐
1千以上---大排档
1百以上---麻辣烫
10元以上--快餐
否则------不吃
import java.util.Scanner; //1.导包 导入控制台的类
public class If1{
public static void main(String[] args){
System.out.print("请输入你的钱包金额:");
Scanner sc = new Scanner(System.in);
int money = sc.nextInt();
if(money>=10000){
System.out.println("吃海鲜大餐");
}else if(money>=1000&&money<10000){
System.out.println("吃大排档");
}else if(money>=100&&money<1000){
System.out.println("吃麻辣烫");
}else if(money>=10&&money<100){
System.out.println("吃快餐");
}else{ //上面的条件都不成立,则执行else里的代码
System.out.println("没钱吃饭,先饿一顿!");
}
}
}
优化
import java.util.Scanner; //1.导包 导入控制台的类
public class If1{
public static void main(String[] args){
System.out.print("请输入你的钱包金额:");
Scanner sc = new Scanner(System.in);
int money = sc.nextInt();
if(money>=10000){
System.out.println("吃海鲜大餐");
}else if(money>=1000){ //隐含了money<10000
System.out.println("吃大排档");
}else if(money>=100){ //隐含了money<1000
System.out.println("吃麻辣烫");
}else if(money>=10){ //隐含了money<100
System.out.println("吃快餐");
}else{ //上面的条件都不成立,则执行else里的代码
System.out.println("没钱吃饭,先饿一顿!");
}
}
}
特点整理:
if往往用于判断个范围;if判断要么从大到小,要么从小到大
if多分支往往后面需要加else更完整
四、if嵌套
if嵌套:if语句中,又包含了if结构
案例:输入学生的成绩,打印出对应的等级
90-100 A
80~89 B
70~79 C
60~69 D
60以下 E
mport java.util.Scanner; //1.导包 导入控制台的类
public class If1{
public static void main(String[] args){
System.out.print("请输入百分制成绩:");
Scanner sc = new Scanner(System.in);
int score = sc.nextInt();
if(score>=0&&score<=100){
if(score>=90){
System.out.println("A");
}else if(score>=80){
System.out.println("B");
}else if(score>=70){
System.out.println("C");
}else if(score>=60){
System.out.println("D");
}else{
System.out.println("E");
}
}else{
System.out.println("输入有误~请重新输入!");
}
}
}
if嵌套特点:先执行外层的if,再执行内层。