Java语言基础-运算符
一丶逻辑运算符
1.&和&&的区别
(1).两个逻辑运算符的结果是一样的
(2).当第一个表达式为false时,&是会判断后边的表达式,而&&会产生短路,所以不会判断以后的表达式
2. | 和 || 的区别
(1).两个逻辑运算符得到的最终结果是一样的
(2).当第一个表达式为true时, | 是会判断后边的表达式,而 || 会产生短路,故不会判断以后的表达式
注:一般情况下都用&&和 || .并且 &和 | 可以参入位运算
二丶位运算符
1.&运算 请看下图(把十进制的数转换为2进制,然后两个两个比较,必须两个数都为1得到的二进制数才是1,否则是0)
2. |运算 请看下图(把十进制的数转换为2进制,然后两个两个比较,两个数其中有一个为1得到的就是1,其他为0)
3. ^运算(把十进制的数转换为2进制,然后两个两个比较,两个数相同就是0,不相同就是1)
(1). ^运算有一个特点,一个数异或同一个数两次,结果还是这个数
4. ~ 反码 (就是二进制运算中的取反操作).
5.<< 相当于乘以2的倍数.
6.>>相当于除以2的倍数.
移动n位,就是对乘以或者除以2的n次幂. 具体请看下图
7.>>>:无符号右移:更右移的区别就是,数据进行右移时,高位出现的空位,无论原高位是什么,空位都用0补。
三丶三元运算符
1.格式
(1) (条件表达式)?表达式1:表达式2;
(2) 如果条件为true,运算后的结果是表达式1;
(3) 如果条件为false,运算后的结果是表达式2;
2.实例
(1) 获去两个数中最大数.
(2) int x=3,y=4,z;
(3) z=(x>y)?x:y; //变量存储的就是两个数的最大数