Java 基础(比较运算符,逻辑运算符,三元运算符)
2021-03-08 23:30
标签:compare 不同 out 逻辑或 表达 class 检查 条件 类型 比较运算符的结果都是 boolean 类型,要么是 true 要么是 false。 一: 格式:(条件表达式)?表达式1:表达式2 二: 表达式1和表达式2位同种类型 三: 三元运算符与if-else的联系与区别: Java 基础(比较运算符,逻辑运算符,三元运算符) 标签:compare 不同 out 逻辑或 表达 class 检查 条件 类型 原文地址:https://www.cnblogs.com/klvchen/p/14183763.html运算符:比较运算符
运算符
运算
范例
结果
==
相等于
4==3
false
!=
不等于
4!=3
true
小于
4
false
>
大于
4>3
true
小于等于
4
false
>=
大于等于
4>=3
true
instanceof
检查是否是类的对象
"Hello" instanceof String
true
比较运算符 "==" 不能误写成 "="class CompareTest{
public static void main(String[] args){
int i = 10;
int j = 20;
System.out.println(i==j); //false
System.out.println(i=j); //20
boolean b1 = true;
boolean b2 = false;
System.out.println(b2==b1); //false
System.out.println(b2=b1); //true
}
}
运算符:逻辑运算符
a
b
a&b
a&&b
a|b
a||b
!a
a^b
true
true
true
true
true
true
false
false
true
false
false
false
true
true
false
true
false
true
false
false
true
true
true
true
false
false
false
false
false
false
true
false
class LogicTest{
public static void main(String[] args){
// 区分 & 与 &&
// 相同点1:当 & 与 && 的运算结果相同
// 相同点2:当符号左边是true时,二者都会执行符号右边的运算
// 不同点: 当符号左边是false时,& 继续执行符号右边的运算,&&不再执行符号右边的运算。
boolean b1 = true;
int num1 = 10;
if (b1 & (num1++ > 0)){
System.out.println("Hello, beijing"); //Hello, beijing
} else {
System.out.println("Hello, nanjing");
}
System.out.println("num1 = " + num1); //11
boolean b2 = false;
int num2 = 10;
if (b2 && (num2++ > 0)){
System.out.println("Hello, beijing"); //Hello, beijing
} else {
System.out.println("Hello, nanjing");
}
System.out.println("num2 = " + num2); //10
// 区分 | 与 ||
// 相同点1: | 与 || 的运算结果相同
// 相同点2: 当符号左边是false时,两者都执行符号右边的运算
// 不同点: 当符号左边是tue时,| 继续执行符号右边的运算,||不再执行符号右边的运算。
boolean b3 = true;
int num3 = 10;
if (b3 | (num3++ > 0)){
System.out.println("Hello, beijing"); //Hello, beijing
} else {
System.out.println("Hello, nanjing");
}
System.out.println("num3 = " + num3); //11
boolean b4 = true;
int num4 = 10;
if (b4 || (num4++ > 0)){
System.out.println("Hello, beijing"); //Hello, beijing
} else {
System.out.println("Hello, nanjing");
}
System.out.println("num4 = " + num4); //10
}
}
运算符:三元运算符
1.条件表达式为 true ,运算后的结果是表达式1
2.条件表达式为 false ,运算后的结果是表达式2
1.三元运算符可简化为 if-else 语句
2.三元运算符要求必须返回一个结果
3.if后的代码块可有多个语句
4.如果程序可以使用三元运算符,又可以使用if-else结构,那么优先选择三元运算符。原因:简单,执行效率高。class SanYuanTest {
public static void main(String[] args){
//获取两个整数的较大值
int m = 12;
int n = 5;
int max = (m > n)?m : n;
System.out.println(max); //12
double num = (m > n)? 2 : 1.0;
System.out.println(num); //2.0
n = 12;
String maxStr = (m > n)? "m大" : ((m == n)? "m 和 n 相等" : "n大");
System.out.println(maxStr); //m 和 n 相等
//获取三个数的最大值
int n1 = 12;
int n2 = 30;
int n3 = -43;
int max1 = (n1 > n2)? n1 : n2;
int max2 = (max1 > n3)? max1 : n3;
System.out.println("三个数中的最大值为: " + max2); //三个数中的最大值为: 30
// 不建议
int max3 = (((n1 > n2)? n1 : n2) > n3)? ((n1 > n2)? n1 : n2) : n3;
System.out.println("三个数中的最大值为: " + max3); //三个数中的最大值为: 30
// 改写成 if-else
if(m > n){
System.out.println("m=" + m);
}else{
System.out.println("n=" + n); //n=12
}
}
}
上一篇:python中zip的用法
文章标题:Java 基础(比较运算符,逻辑运算符,三元运算符)
文章链接:http://soscw.com/index.php/essay/62035.html