52_Java_运算符
【摘要】 算术运算符 赋值运算符 比较运算符(关系运算符)
逻辑运算符 位运算符 三元运算符
运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等
算术运算符 赋值运算符 比较运算符(关系运算符)
逻辑运算符 位运算符 三元运算符
算术运算符
// (前)++ 先自增1, 后
// (后)++ 先运算, 后自增1
int a1 = 10;
int a2 = a1++; //10
int b1 = 10;
int b2 = ++b1; // 11
short s1 =10;
// s1 = s1 +1 ; // 直接编译不过,s1 +1 返回一个整形
赋值运算符 =
当“=”两侧数据类型不一致时,可以使用自动类型转换或使用强制处理。
支持连续赋值。扩展赋值运算符: +=, -=, *=, /=, %=
int i2,j2;
//连续赋值
i2 = j2 = 10;
比较运算符
逻辑运算符
逻辑运算符用于连接布尔型表达式,在Java中不可以写成3<x<6,应该写 成x>3 & x<6
“&”和“&&”的区别:
单&时,左边无论真假,右边都进行运算;
双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
“|”和“||”的区别同理,||表示:当左边为真,右边不参与运算。
异或( ^ )与或( | )的不同之处是:当左右都为true时,结果为false
a^b a b 相同时候是false, 不同时候是true
// 短路&& 短路||
boolean bb1 = false;
int num1 =10;
if (bb1 & num1++ > 0){
System.out.println(num1);
}else
System.out.println(num1); //11
boolean cc1 = false;
int num2 =10;
if (cc1 && num2++ > 0){
System.out.println(num2);
}else
System.out.println(num2); // 10 num2 被短路 没有运算
}
位运算符
运算符 | 运算 | 细节 | 范例 |
<< | 左移 | << 空位补0,被移除的高位丢弃,空缺位补0 | 3 << 2 = 12 --> 3*2*2=12 |
>> | 右移 | >> 被移位的二进制最高位是0,右移后,空缺位补0; 最高位是1,空缺位补1 | 3 >> 1 = 1 --> 3/2=1 |
>>> | 无符号右移 | >>> 被移位二进制最高位无论是0或者是1,空缺位都用0补 | 3 >>> 1 = 1 --> 3/2=1 |
& | 与运算 | & 二进制位进行&运算,只有1&1时结果是1,否则是0 | 6 & 3 = 2 |
| | 或运算 | | 二进制位进行 | 运算,只有0 | 0时结果是0,否则是1 | 6 | 3 = 7 |
^ | 异或运算 | 相同二进制位进行 ^ 运算,结果是0;1^1=0 , 0^0=0 |
6 ^ 3 = 5 |
~ | 取反运算 | 正数取反,各二进制码按补码各位取反 负数取反,各二进制码按补码各位取反 |
~6 = -7 |
三元运算符
/*
运算符之六:三元运算符
1.结构:(条件表达式)? 表达式1 : 表达式2
2. 说明
① 条件表达式的结果为boolean类型
② 根据条件表达式真或假,决定执行表达式1,还是表达式2.
如果表达式为true,则执行表达式1。
如果表达式为false,则执行表达式2。
③ 表达式1 和表达式2要求是一致的。
④ 三元运算符可以嵌套使用
3.凡是可以使用三元运算符的地方,都可以改写为if-else 反之,不成立。
4. 如果程序既可以使用三元运算符,又可以使用if-else结构,那么优先选择三元运算符。原因:简洁、执行效率高。
*/
public class sanyuan {
public static void main(String[] args) {
//获取两个整数的较大值
int m = 12;
int n = 5;
int max = (m > n)? m : n;
// 三个数最大值
int n1 = 12;
int n2 = 30;
int n3 = -43;
int max1 = (n1 > n2)? n1 : n2;
int max2 = (max1 > n3)? max1 : n3;
}
}
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)