之路04"/>
Java学习之路04
java的运算符
1.1算术运算符
单目: ++(自增1) - -(自减1)
++:
a、 i++:先使用i当前的值,然后i=i+1
b、 ++i: 先i=i+1,再使用i(加完以后的值)
--:
a、 i--:先使用i当前的值,然后i=i-1
b、 --i:先i =i-1,再使用i(减完以后的值)
双目:+, -, *, / ,%(取余或取模)
1、操作的时候,只能操作同一个类型的数字
2、返回结果也必须是一个类型的(否则可能产生溢出、损失精度)
3、%----->是取两数相除的余数。如12%7=5
三目(条件运算赋或三元运算符):
格式:条件表达式? 表达式1 : 表达式2
如果条件表达式为true,则整个运算表达式的值为表达式1,反之为false,则为表达式2
1.2关系运算符
关系运算符的表达式返回值都是boolean类型的值。
== , != ,>,<,>=,<=
!=是不等于
1.3逻辑运算符
a.短路运算:||,&&
如果满足某一条件,另外一个就会被跳过,不会执行。
如:条件1||条件2,如果条件1为真(true),则表达式为真,条件2就不用运行判断
条件3&&条件4,如果条件3为假(false),则表达式为假,条件4就跳过,不做判断。
b.非短路运算:|,&
不管条件是什么,两个条件都会执行。
如:条件1 | 条件2,不管条件是否为真(true),条件2都会执行判断
1.4赋值运算符
=, += ,-=, *=, /= ,%=, &= ,^=, |=, <<=, >>=
例:+=,
int a =1; a += 2;等效于a = a + 2
1.5位移运算符
位移就是将数的二进制数往左或右移动
<< 带符号左移
>>带符号右移
>>> 无号右移
例: int a1 = 8; // 0000 0000 0000 1000
System.out.println(a1>>>2); 0000 0000 0000 0010
输出为 2移动有一定规律可循的:如向右移动数值就会变小,向左移的话数值变大。
例子:十进制8的二进制数,向右移动2位,就变小了,变为2
移动前:0000 0000 0000 1000(8)
移动后:0000 0000 0000 0010(2)
又或二进制数8,向左移动2位,就变大为32
移动前:0000 0000 0000 1000(8)
移动后:0000 0000 0010 0000(32)
所以,总结就是
向右移动N位,就是除以2的N次幂(2^N),8向右移两位就是8除以2的2次幂,就等于2
向左移动N位,就是乘以2的N次幂(2^N),8向右移两位就是8乘以2的2次幂,就等于32
更多推荐
Java学习之路04
发布评论