一、if单分支选择结构
二、if-else双分支选择结构
三.多分支选择结构if -else if -else
四.if嵌套
一、if单分支选择结构
语法结构:
if(条件){
代码块
}
规律:首先判断条件,如果条件为true,则执行{}中代码,执行完后继续执行if结构后面的代码。
如果条件false,则跳过If选择结构,执行if结构后面的代码。
注意:条件只能是boolean类型结构,要么true,要么false.如果{}里只有一个代码可以省略不写,超过一条后必须写,因为会出问题,所以建议不要省略。例题如下:
Scanner sc = new Scanner(System.in);
System.out.println("请输入张浩的Java成绩:");
double num =sc.nextDouble();
//判断张浩能不能得到奖励
if(num>90){
System.out.println("很棒");
System.out.println("老师奖励一个棉花糖");
}
System.out.println("好好学习,天天向上");
二、if-else双分支选择结构
if(条件){
代码块1
}else{
代码块2
}
判断规律:判断条件,如果条件为true,执行代码1,执行完代码1结束If-else,继续执行If-else后面的代码。
如果条件为false,}执行else后面{}里的代码块2,执行完代码块2,结束整个if-else结构,继续往下执行if-else结构后面的代码。
注意:注意:条件只能是boolean类型结构,要么true,要么false.如果{}里只有一个代码可以省略不写,超过一条后必须写,因为会出问题,所以建议不要省略。例题1:判断输入的是偶数,还是奇数
package liti;
import java.util.Scanner;
public class demo2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner ss =new Scanner(System.in);
System.out.println("请输入一个数");
int num=ss.nextInt();
//判断偶数必须被2整除,余数为0
if(num%2==0){
System.out.println("这个数为偶数");
}else{
System.out.println("这个数为奇数");
}
System.out.println("运行结束");
}
}
运行结果:
例题2:判断你输入的是否为闰年
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个4位数字的年份:");
int year = sc.nextInt();
if(year%4==0&&year%100!=0 || year%400==0){
System.out.println("你输入的"+year+"年是闰年");
}else{
System.out.println("你输入的"+year+"年不是闰年");
}
System.out.println("程序执行完毕");
三.多分支选择结构if -else if -else
语法法则:
if(条件1){
代码1
}else if(条件2){
代码2
}else if (条件3){
代码3
}else{
代码4}
执行规律:
首先判断条件1,如果条件1为true,执行代码块1,执行完代码块1结束整个if-else-if结构,执行if-else-if结构后面的代码
如果条件1为false,往下判断条件2,如果条件2为true,执行代码块2,执行完代码块2结束整个if-else-if结构,执行if-else-if结构后面的代码
如果条件2位false,往下判断条件3,如果条件3为true,执行代码块3,执行完代码块3结束整个if-else-if结构,执行if-else-if结构后面的代码
如果条件3位false,往下判断条件....
如果判断到最后一个条件n为false,则执行else后面{}里的代码
注意:
1)所有的条件都为布尔值,要么为true要么为false
2)else if可以有多个
3)else可以省略不写,如果所有的条件都不满足,又没有else,则整个if-else-if结构都不会执行
4)多分支if选择结构里的条件是有顺序,条件严格的应该排在前面
例题:
package if计算;
import java.util.Scanner;
public class Dmo2 {
//成绩大于等于90为优秀,>=80为良好,>=60为中等,60以下为差
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的成绩");
int score = sc.nextInt();
if(score>=90){
System.out.println("优秀");
}else if(score>=80){
System.out.println("良好");
}else if(score>=60){
System.out.println("中等");
}else{
System.out.println("差");
}
System.out.println("好好学习天天向上");
}
}
四、if 嵌套
嵌套就是必须满足第一条件才能进入程序继续执行。
例题1:成绩范围是100到0之间,所以必须嵌套一个100到0之间才可以判断为优秀。
package if计算;
import java.util.Scanner;
public class Dmo2 {
//成绩大于等于90为优秀,>=80为良好,>=60为中等,60以下为差
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的成绩");
int score = sc.nextInt();
//<=100且>=100
if(score<=100 && score>=0){
if(score>=90){
System.out.println("优秀");
}else if(score>=80){
System.out.println("良好");
}else if(score>=60){
System.out.println("中等");
}else{
System.out.println("差");
}
}else{
System.out.println("成绩输入错误");
}
System.out.println("好好学习天天向上");
}
}