技术演绎之 [ java ] java 运算符,
分享于 点击 18054 次 点评:275
技术演绎之 [ java ] java 运算符,
作者:zk
e_mail:zk_mails@163.com
qq:312239613
博客首页:http://blog.csdn.net/zk0521(转载请注明出处)
博客导航目录:http://blog.csdn.net/zk0521/article/details/46472813
注:如有问题请联系作者,作者会及时改正博客
Java 语言支持如下运算符:
算术运算符: +,-,*(乘法),/ (整除), %(取余) ,++,--赋值运算符 =
关系运算符( ===》布尔类型 true 或 false ): >,<,>= (大于或等于),<= (小于或等于),==(等等),!=(不等于) ,instanceof
逻辑运算符(===》布尔类型 true 或 false ): & (逻辑与),| (逻辑或),^ (逻辑异或),! (逻辑非), && (短路与),||(短路或)
位运算符(===》二进制的逻辑运算 1--true 0--false): &(位逻辑与),|(位逻辑或),^(位逻辑异或),~(位取反 了解) , >>(有符号的右移),<<(有符号的左移),>>>(无符号的右移) (了解!!!)
逻辑运算符 和 位运算符 的区别在于 左右两边的值 左右两边的值是 true和false那么是逻辑运算 例如 3>4 & 4<6 false & true
左右两边的值 数字的话 那么是位运算 例如 4 & 3 0000-0100 & 0000-0011
条件运算符 (三目运算) ?:
扩展赋值运算符: +=, -=, *=, /=
优先级使用 () 提升即可
注意:
1、%(取余)
a、 当一个数a 模与 一个比a大的数 b 结果是这个数本身 ===》 a%b 3 % 4 = 3 ;
b、 当一个数a 模与 这个数本身 结果是0 ===》 a%b 3 % 3 = 0 ;
c、 当一个数 去模与 另一个数的时候 其结果的符号 和 左边数的符号一致
2、
++ 代表自加1
-- 代表自减1
int a = 2; a = a+1 ; a++;
a、当++在变量的后面出现的时候
int a = 3;
int b = a++;
System.out.println( "a = " + a); // 4
System.out.println( "b = " + b); // 3
===》先将 a 的值赋值给 b , 然后 a在自加1
b、当++在变量的前面出现的时候
int c = 5;
int d = ++c;
System.out.println(" c = " + c); // 6
System.out.println(" d = " + d); // 6
===》先将 c自加1 ,然后再将 c的值 赋值给d
3、逻辑运算符
a 、& -----》当左右两边 同时为 true 的时候 结果才为 true , 左右两边 只要有一个 为false 结果为 false
System.out.println( 3>2 & 4>3); // true & true ==>true
System.out.println( 3>2 & 4<3); // true & false ==>false
System.out.println( 3<2 & 4>3); // false & true ==>false
System.out.println( 3<2 & 4<3); // false & false ==>false
b、| ---》 当左右两边 同时为 false 的时候 结果才为 false, 左右两边 只要有一个 为true 结果为 true
System.out.println( 3>2 | 4>3); // true & true ==> true
System.out.println( 3>2 | 4<3); // true & false ==> true
System.out.println( 3<2 | 4>3); // false & true ==> true
System.out.println( 3<2 | 4<3); // false & false ==> false
c、^ ----》当左右两边 相同的时候 结果 false ,左右两边 不同的时候 结果true
System.out.println( 3>2 ^ 4>3); // true & true ==> false
System.out.println( 3>2 ^ 4<3); // true & false ==> true
System.out.println( 3<2 ^ 4>3); // false & true ==> true
System.out.println( 3<2 ^ 4<3); // false & false ==> false
d、!---》 !true ---》false !false ===>true
System.out.println(!(3<2) ) ; //false ===>true
System.out.println(!(3>2) ) ; //true ==>false
e、&& (短路与),||(短路或)
&& (短路与)===》当左边为 true 的时候 才会去判断右边结果
当左边为 false 的时候 右边不做判断 直接输出结果为false
System.out.println( 3>2 && 4>3); // true && true ==> true
System.out.println( 3>2 && 4<3); // true && false ==> false
System.out.println( 3<2 && 4>3); // false && true ==> false
System.out.println( 3<2 && 4<3); // false && false ==> false
|| (短路或)====》当左边为 true的时候 右边不做判断 直接输出结果为ture
当左边为 false的时候 才去判断右边的结果
System.out.println( 3>2 || 4>3); // true || true ==> true
System.out.println( 3>2 || 4<3); // true || false ==> true
System.out.println( 3<2 || 4>3); // false || true ==> true
System.out.println( 3<2 || 4<3); // false || false ==> false
4、位运算
a、^ 位异或 一个数 异或另外一个数 两次 其结果是自身
b、 >> 右移 其实就是 除以 2的xx次幂 12 >> 3 12 / 2 (3) 12 / 8 = 1 当移动的时候 最高为 是原来最高为的数字
<< 左移 其实就是 乘以 2的xx次幂 3 << 4 3 * 2(4) 3 * 16 = 48
5、三目运算 ? :
逻辑表达式 ? 表达式1 : 表达式2 ;
当逻辑表达式 结果为 true 的话 会返回 表达式1
当逻辑表达式 结果为 false 的话 会返回 表达式2
int a = 3>4 ? 1 : 0
6、扩展赋值运算符
相关文章
- 暂无相关文章
用户点评