Java学习笔记2.3.6 运算符与表达式 - 条件运算符

Posted howard2005

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java学习笔记2.3.6 运算符与表达式 - 条件运算符相关的知识,希望对你有一定的参考价值。

文章目录

零、本讲学习目标

  1. 理解条件运算符的作用
  2. 能正确使用条件运算符

一、条件运算符概念

  • 条件运算符也称作三元运算符(或三目运算符),由符号“? :”组合构成。对布尔类型的表达式判断,如果为true,就执行冒号“:”前面的表达式,否者执行后面的表达式。

二、条件运算符使用

(一)语法格式

(boolean_expr) ? true_statement : false_statement;

  • 先判断boolean_expr的值,如果为true,就执行表达式true_statement,否者执行表达式false_statement。

(二)案例演示

任务1、计算分段函数值

y = 3 x 2 − 1 x ≥ 0 ( 1 ) − 2 x + 5 x < 0 ( 2 ) y=\\begincases 3x^2-1 &x\\geq0 &(1)\\\\ -2x + 5 &x\\lt 0 &(2)\\\\ \\endcases y=3x212x+5x0x<0(1)(2)

package net.hw.lesson05;

import java.util.Scanner;

/**
 * 功能:计算分段函数值
 * 作者:华卫
 * 日期:2020年3月22日
 */
public class Example511 
    public static void main(String[] args) 
        double x, y;
        Scanner sc = new Scanner(System.in);

        System.out.print("x = ");
        x = sc.nextDouble();

        y = x >= 0 ? 3 * x * x - 1 : -2 * x + 5;

        System.out.println("y = " + y);
    

运行程序,结果如下:

当 x = 1 时 , 因 为 x ≥ 0 , 所 以 y = 3 × 1 2 − 1 = 2 当x=1时,因为x\\geq 0,所以y=3\\times1^2-1=2 x=1x0y=3×121=2

再运行程序,结果如下:

当 x = − 1 时 , 因 为 x < 0 , 所 以 y = − 2 × ( − 1 ) + 5 = 7 当x=-1时,因为x\\lt0,所以y=-2\\times(-1)+5=7 x=1x<0y=2×(1)+5=7

思考题:不用条件运算符怎么计算分段函数值?

任务2、根据输入年龄提示不同信息

package net.hw.lesson05;

import java.util.Scanner;

/**
 * 功能:根据输入年龄提示不同信息
 * 作者:华卫
 * 日期:2020年3月22日
 */
public class Example512 
    public static void main(String[] args) 
        // 声明部分
        int age;
        String msg;
        Scanner sc = new Scanner(System.in);

        // 输入部分
        System.out.print("输入你的年龄:");
        age = sc.nextInt();

        // 处理部分
        msg = age >= 18 ? "欢迎访问本网站~" : "未成年,旁边凉快去!";

        // 输出部分
        System.out.println(msg);
    

运行程序,查看结果:


当然,不采用条件运算符,而采用双分支结构也可以搞定,如下图所示:

以上是关于Java学习笔记2.3.6 运算符与表达式 - 条件运算符的主要内容,如果未能解决你的问题,请参考以下文章

Java学习笔记2.3.3 运算符与表达式 - 关系运算符

Java学习笔记2.3.2 运算符与表达式 - 赋值运算符

Java学习笔记2.3.1 运算符与表达式 - 算术运算符

Java学习笔记2.3.4 运算符与表达式 - 逻辑运算符

Java学习笔记2.3.5 运算符与表达式 - 位运算符

java学习笔记2(datawhale教程):运算符和表达式流程控制数组