if的使用

if单分支结构

  1. 语法格式:
    if(表达式){
    //如果表达式为true将执行的语句
    }
  2. 代码示例
import java.util.Scanner;

public class Ddemo01 {  //if单分支选着结构
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入数据");
        String str=scanner.nextLine();
        //equals:用来判断字符串是否相等
        if (str.equals("javaStudy")){
            System.out.println("学习编程使我快乐");
        }
        System.out.println("加油!");
        scanner.close();
    }
}

if双分支结构

  1. 语法结构:
if(表达式){
     如果表达式为true将执行的语句
}
else{
      如果表达式为false将执行的语句
}

代码示例:

import java.util.Scanner;

public class Ddemo02 {//if双分支结构

    public static void main(String[] args) {
    //判断价钱,如果大于4块,表示买的是香蕉;小于4块,表示买的是橘子
        Scanner scanner=new Scanner(System.in);//从键盘输入数据
        double price=scanner.nextDouble();
        if (price>4){
            System.out.println("购买的是香蕉");
        }
        else{
            System.out.println("购买的是橘子");
        }
    }
}

if多分支选择结构

  1. 语法结构
if(表达式1){
         表达式 1的值为true执行代码
}
else if(表达式2){
         表达式 2的值为true执行代码
}
else if(表达式3){
         表达式 3的值为true执行代码
}
else{
       如果以上的表达式都不为true,那么就执行这个语句
}
  1. 代码示例
import java.util.Scanner;

public class Ddemo03 {//if多分支结构
    /*成绩为100分,等级为A+;成绩大于等于90分,等级为A;成绩大于等于80分,等级为B+
    成绩大于等于70分,等级为B,成绩大于等于60分,等级为C+,成绩小于60分,加油!相信你,你可以的!加油!
    等级大于100分,表示成绩出错。
    */
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);//可以从键盘输入数据
        System.out.println("请输入成绩:");
        int score=scanner.nextInt();
        if (score==100){
            System.out.println("等级为A+");
        }else if(score>=90&&score<100){//利用到逻辑与,同时满足才能为真
            System.out.println("等级为A");
        }else if(score>=80&&score<90){
            System.out.println("等级为B+");
        }else if(score>=70&&score<80){
            System.out.println("等级为B");
        }else if(score>=60&&score<70){
            System.out.println("等级为C+");
        }else if(score>=0&&score<60){
            System.out.println("加油!相信你,你可以的!加油!");
        }
        else{
            System.out.println("成绩出错");
        }
        scanner.close();//关闭IO流
    }
}
/*总结:
if 语句可以有若干个 else if 语句,它们必须在 else 语句之前。
一旦其中一个 else if 语句检测为 true,其他的 else if 以及 else 语句都将跳过执行。
*/

嵌套if结构

在嵌套if语句里,可以嵌套if单分支结构,也可以嵌套if双分支,亦或嵌套if多分支结构

  1. 语法结构
if(表达式){
      if(表达式){  }
}
  1. 代码示例;
import java.util.Scanner;

public class Ddemo04 {//if嵌套语句
    /*成绩为100分,等级为A+;成绩大于等于90分,等级为A;成绩大于等于80分,等级为B+
        成绩大于等于70分,等级为B,成绩大于等于60分,等级为C+,成绩小于60分,加油!相信你,你可以的!加油!
        等级大于100分,表示成绩出错。
        */
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        int score=scanner.nextInt();
        System.out.println("输入成绩:");
        if(score<=100){
            if(score<100){
                if(score>=90){
                    System.out.println("等级为A");
                }else if(score>=80){
                    System.out.println("等级为B+");
                }else if(score>=70){
                    System.out.println("等级为B");
                }else if(score>=60){
                    System.out.println("等级为C+");
                }else{
                    System.out.println("加油!相信你,你可以的!加油!");
                }

            }else{
                System.out.println("等级为A+");
            }
        }
        else{
            System.out.println("成绩出错");
        }
        scanner.close();
    }
}
  1. 代码示例2
import java.util.Scanner;

public class Ddemo05 {//if的嵌套语句
    /*在1-100之间寻找一个数字*/
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入你要寻找的数字");
        int mummber=scanner.nextInt();
        if(mummber<=100){
            if(mummber>=50){
                System.out.println("这个数在50到100之间");
            }
            else {
                System.out.println("这个数在0到50之间");
            }
        }
    }
}