Java基础——选择结构中的三种if语句

Java选择结构中的三种if语句

if语句

概念

if语句是单条件分支语句,即根据一个条件来控制程序执行。

语法格式

if (比较表达式) {
语句体;
}

执行流程

  1. 先计算比较表达式的值,看其返回值是true还是false
  2. 如果是true,就执行语句体
  3. 如果是false,就不执行语句体

注意事项

  1. 比较表达式无论简单还是复杂,结果必须是boolean类型。
  2. if语句中的{}可以省略不写,但为了增强程序的可读性,最好不要省略。

**if-else语句

概念

if-else是单条件分支语句,即根据一个条件来控制程序执行。

语法格式

if (比较表达式) {
语句体1;
}
else {
语句体2;
}

执行流程

  1. 先计算表达式的值,看其返回值是true还是false
  2. 如果是true,就执行语句体1
  3. 如果是false,就执行语句体2

练习题

获取两个数据中的最大值
源代码如下:

import java.util.Scanner;
public class demo9 {
    public static void main(String[] avgs) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入两个整数:");
        int x = sc.nextInt();
        int y = sc.nextInt();
        if (x > y) {
            System.out.println("max = " + x);
        }
        else
        {
            System.out.println("max = " + y);
        }
    }
}

if-else if-else语句(级联语句)

概念

if-else if-else语句是多条件分支的语句

语法格式

if (比较表达式1) {
语句体1;
} else if (比较表达式2) {
语句体2;
} else if (比较表达式3) {
语句体3;
}

else{
语句体n+1;
}

注意:

  1. 如果多个表达式之间没有交集(互斥),则哪个条件表达式声明在上面,哪个条件表达式声明在下面都可以。
  2. 如果多个表达式之间是包含关系,则需要将范围小的条件表达式声明在范围大的条件表达式的上面。

执行流程

  1. 先计算比较表达式1,看其返回值是true还是false
  2. 如果是true,则执行语句体1,if语句结束
  3. 如果是false,接着计算比较表达式2,看其返回值是true还是false
  4. 如果是true,就执行语句体2,if语句结束
  5. 如果是false,接着计算比较表达式3,看其返回值是true还是false
  6. 如果都是false,就执行语句n+1

练习题

使用if语句的嵌套获取三个数据中的最大值
源代码如下:

import java.util.Scanner;

public class demo11 {
    public static void main(String[] avgs) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入三个数据:");
        int x = sc.nextInt();
        int y = sc.nextInt();
        int z = sc.nextInt();
        if (x > y) {
            if (x > z) {
                System.out.println("最大值是:" + x);
            } else {
                System.out.println("最大值是:" + z);
            }

        } else {        //y<=x
            if (y > z) {
                System.out.println("最大值是:" + y);
            }else {
                System.out.println("最大值是:" + z);
            }
        }
    }
}

**if语句和三元运算符的区别

三元运算符实现的,都能采用if语句实现,反之不成立

面试题

  • 什么时候if语句实现不能用三元运算符改进?
  • 当if语句控制的操作是一个输出语句时,不能用三元运算符改进
    原因:三元运算符是一个运算符,运算符操作完毕就应该有一个结果,而不是一个输出。

Scanner类

  1. Scanner类提供了获取byte、short、int、long、float、double、boolean、String类型变量的方法。注意:没有提供获取char类型变量的方法,需要使用**sc.next().charAt(0)**来获取。
  2. 使用完Scanner类之后,输入**sc.close()**关闭以避免内存泄漏。

获取随机数

1.需求:获取一个[a,b]范围的随机整数?可以使用通用公式:(int)(Math.random()*(b-a+1))+a

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值