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

Posted howard2005

tags:

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

文章目录

零、本讲学习目标

  1. 掌握Java的6种关系运算符
  2. 能用关系表达式表示简单条件

一、关系运算符概念

  • 关系运算符用来对两个数值或变量进行比较,其结果是布尔类型的true或false。

二、关系运算符使用

(一)分类说明表

运算符运算范例结果
==相等于200 == 100false
!=不等于200 != 100true
<小于200 < 100false
>大于200 > 100true
<=小于等于200 <= 100false
>=大于等于200 >= 100true

(二)注意事项

  • “等于”关系运算符是双等号==,不是单等号=,单等号是赋值运算符
  • “不等于”关系运算符不能写成数学上的,而是!=
  • “大于或等于”关系运算符不能写成数学上的,而是>=
  • “小于或等于”关系运算符不能写成数学上的,而是>=

(三)案例演示

任务1、比较两个学生成绩

package net.hw.lesson05;

import java.util.Scanner;

/**
 * 功能:比较两个同学成绩高低
 * 作者:华卫
 * 日期:2020年3月22日
 */
public class Example506 
    public static void main(String[] args) 
        /* 声明部分 */
        int zhangScore; // 张三的成绩
        int liScore; // 李四的成绩
        boolean isHigher; // 张三是否比李四成绩高
        Scanner sc = new Scanner(System.in); // 接受键盘输入的扫描器对象

        /* 输入部分 */
        System.out.print("输入张三的成绩:");
        zhangScore = sc.nextInt();
        System.out.print("输入李四的成绩:");
        liScore = sc.nextInt();

        /* 处理部分 */
        isHigher = zhangScore > liScore;

        /* 处理与输出部分 */
        System.out.println("张三比李四成绩高吗?" + isHigher);
        if (isHigher) 
            System.out.println("张三要比李四成绩高!");
         else 
            System.out.println("张三不比李四成绩高!");
        
    

运行程序,结果如下:

再运行程序,结果如下:

再运行程序,结果如下:

任务2、求解一元二次方程

对于一元二次方程 a x 2 + b x + c = 0 ax^2+bx+c=0 ax2+bx+c=0
假设二次项系数 a ≠ 0 a≠0 a=0
判别式 Δ = b 2 − 4 a c \\Delta=b^2-4ac Δ=b24ac

I f Δ ≥ 0 T h e n x 1 = − b + b 2 − 4 a c 2 a x 2 = − b − b 2 − 4 a c 2 a E l s e x 1 = − b 2 a + 4 a c − b 2 2 a i x 2 = − b 2 a − 4 a c − b 2 2 a i E n d   I f If \\quad \\Delta \\geq 0 \\quad Then \\\\ \\quad x_1=\\displaystyle \\frac-b+\\sqrtb^2-4ac2a \\\\ \\quad x_2=\\displaystyle \\frac-b-\\sqrtb^2-4ac2a \\\\ Else \\\\ \\quad x_1=\\displaystyle -\\fracb2a+\\frac\\sqrt4ac-b^22ai \\\\ \\quad x_2=\\displaystyle -\\fracb2a-\\frac\\sqrt4ac-b^22ai \\\\ End \\ If IfΔ0Thenx1=2ab+b24ac x2=2abb24ac Elsex1=2ab+2a4acb2 ix2=2ab2a4acb2 iEnd If

此处,我们没有去计算复数解,只是提示用户此方程没有实数解。

package net.hw.lesson05;

import java.util.Scanner;

/**
 * 功能:求解一元二次方程
 * 作者:华卫
 * 日期:2020年3月22日
 */
public class Example507 
    public static void main(String[] args) 
        // 声明部分
        double a, b, c, delta, x1, x2;
        Scanner sc = new Scanner(System.in);

        // 输入部分
        System.out.print("a = ");
        a = sc.nextDouble();
        System.out.print("b = ");
        b = sc.nextDouble();
        System.out.print("c = ");
        c = sc.nextDouble();

        // 处理部分 + 输出部分
        delta = b * b - 4 * a * c;
        if (delta >= 0) 
            x1 = (-b + Math.sqrt(delta)) / (2 * a);
            x2 = (-b - Math.sqrt(delta)) / (2 * a);
            System.out.println("x1 = " + x1);
            System.out.println("x2 = " + x2);
         else 
            System.out.println("此方程没有实数解!");
        
    

运行程序,结果如下:

再运行程序,结果如下:

再运行程序,结果如下:

利用关系表达式可以表示一个简单条件,比如查找班上的男生,条件就是:性别 == “男”;查找成绩在90分以上的,条件就是:成绩 >= 90。

但是,大家思考一个问题,如何要查找成绩在90分以上的男生,那么该如何将查询条件写成Java表达式呢?

这就会用到Java的逻辑运算:非、与、或。

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

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

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

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

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

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

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