Java学习笔记2.3.3 运算符与表达式 - 关系运算符
零、本讲学习目标
- 掌握Java的6种关系运算符
- 能用关系表达式表示简单条件
一、关系运算符概念
- 关系运算符用来对两个数值或变量进行比较,其结果是布尔类型的true或false。
二、关系运算符使用
(一)分类说明表
运算符 | 运算 | 范例 | 结果 |
---|---|---|---|
== | 相等于 | 200 == 100 | false |
!= | 不等于 | 200 != 100 | true |
< | 小于 | 200 < 100 | false |
> | 大于 | 200 > 100 | true |
<= | 小于等于 | 200 <= 100 | false |
>= | 大于等于 | 200 >= 100 | true |
(二)注意事项
- “等于”关系运算符是双等号
==
,不是单等号=
,单等号是赋值运算符 - “不等于”关系运算符不能写成数学上的
≠
,而是!=
- “大于或等于”关系运算符不能写成数学上的
≥
,而是>=
- “小于或等于”关系运算符不能写成数学上的
≤
,而是>=
(三)案例演示
任务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 Δ=b2−4ac
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+\sqrt{b^2-4ac}}{2a} \\ \quad x_2=\displaystyle \frac{-b-\sqrt{b^2-4ac}}{2a} \\ Else \\ \quad x_1=\displaystyle -\frac{b}{2a}+\frac{\sqrt{4ac-b^2}}{2a}i \\ \quad x_2=\displaystyle -\frac{b}{2a}-\frac{\sqrt{4ac-b^2}}{2a}i \\ End \ If IfΔ≥0Thenx1=2a−b+b2−4acx2=2a−b−b2−4acElsex1=−2ab+2a4ac−b2ix2=−2ab−2a4ac−b2iEnd 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的逻辑运算:非、与、或。
文章来源: howard2005.blog.csdn.net,作者:howard2005,版权归原作者所有,如需转载,请联系作者。
原文链接:howard2005.blog.csdn.net/article/details/123248460
- 点赞
- 收藏
- 关注作者
评论(0)