1.单分支if选择结构:
语法结构:
if(条件){
//代码块
}
执行规律:
如果条件为true,执行{}里的代码块,执行完代码块之后,继续执行{}后面的代码
如果条件为false,则跳过if选择结构,执行{}后面的代码
注意:
条件不管写的多么的简单还是多么的负责,最终结果应该是布尔值,要么为true要么为false
下面一个小例题带你们体验一下
public static void main(String[] args) {
// 创捷Scanner对象
Scanner sc = new Scanner(System.in);
// 获取成绩
System.out.println("输入成绩");
double score = sc.nextDouble();
// 获得奖励的条件
if(score>90){
System.out.println("优秀,可以获得一张法拉利3元优惠卷");
}
sc.close();//关闭键盘输入
}
2. 多分支if选择机构
语法结构:
if(条件1){
//代码块1;
}else if(条件2){
//代码块2;
}else if(条件3){
//代码块3;
}
}else{
代码块n;
}
执行规律:
判断条件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,则继续......
如果所有条件都不满足,则执行else{}里的代码块n
注意:
(1)所有的条件都为布尔值
(2)else if可以有很多个
(3)else是可以省略不写,当所有的条件都不满足,并且没有else的时候,则整个if-else-if结构里代码的都不会执行
public static void main(String[] args) {
/*
* 成绩>90,优秀
* 成绩>80 <90,良好
* 成绩<60,不及格
*/
Scanner sc = new Scanner(System.in);
System.out.println("来来来,说说你考多少分:");
double score = sc.nextDouble();
if(score>90){
System.out.println("优秀啊");
}
else if(score>80&&score<90){
System.out.println("啧啧,不孬");
}
else{
System.out.println("切,进厂!");
}
}
3.我用一个题目给大家介绍if的嵌套
使用if选择结构对三个整数进行排序,输出时按照从小到大的顺序输出。
import java.util.Scanner;
//使用if选择结构对三个整数进行排序,输出时按照从小到大的顺序输出
public class Demo03 {
public static void main(String[] args) {
//创建scanner对象
Scanner sc = new Scanner(System.in);
// 让你三招
System.out.println("输入三个不一样的整数");
int num1=sc.nextInt();
int num2=sc.nextInt();
int num3=sc.nextInt();
if(num1>num2){
if(num2>num3){
System.out.println(num1+">"+num2+">"+num3);
}
else if(num2<num3){
System.out.println(num1+">"+num3+">"+num2);
}
else
{
System.out.println(num3+">"+num1+">"+num2);
}
}
else//num1<num2
{
if(num1>num3){
System.out.println(num2+">"+num1+">"+num3);
}
if(num3>num2){
System.out.println(num3+">"+num2+">"+num1);
}
else{
System.out.println(num2+">"+num3+">"+num1);
}
}
}