算数运算符
算数运算符
符号:加(+),减(-),乘(*),除(/)取余(%)
自增:++;
eg: int a = 6;
int b = a++ +6;//a = 5;b=12先把a的值付给b,在改变a的值
int b = ++a + 6;//a = 6;b=13 先把a的值+1,再去把a的值付给b
++a 先加再用
a++ 先用后加
减:--;
作用在于:整型和浮点型
int byte short long double float char 相加都是十进制
所有运算结果的最小范围都是: int
除法运算: 当除法运算时:要想得到想要的结果必须将其中一方强制转换为想要的类型
eg:int a = 5;int b = 12;
float c = b/(float)a;//2.4
float c = b/a;//2.0得不到想要的结果
取模:%
赋值运算符:
= 只要赋值了就修改了内存空间的二进制
赋值运算符的扩展:
+=,*=,-=,/=?,%=
逻辑运算符:
短路与或非 :&& || ! && :在遇到false 的时候就停止运行
非短路与或非: & | ^ &:遇到false还会继续运行直到结束
短路与比非短路与的效率更高
三目运算符:if 条件? 结果1:结果2
char:/u0000 默认为空格
比较运算符: < > == <= >= !=
==,逻辑判断 比较的是内容
s1.equals(s2);比较的是地址
位运算符:快速计算一个数字计算想要的结果,最终以二进制进行计算
<< 左移
>>右移
>>> 无符号右移
<<< 无符号左移
& 按位与 将数字转化为二进制再按位进行与操作
int c = 4;//100
byte b = 1;//001
System.out.println(c & b);//结果为0
| 按位或 将数字转化为二进制再按位进行与操作
^ 按位异或
~ 按位非 eg: int a = 5;~a==>-6
计算方法: a+1 然后 符号取反 ==》-(a+1)
位运算符与逻辑运算符区别:位运算符两边是数字 ,逻辑运算符两边是false或true
// ”无符号右移运算,其规则是:当负数右移时,它是以补码方式参加向右移位。
//左边移出的空位补0;不论右边移出去的是0还是1,则最后结果均不加1。