JAVA中的转义符,赋值运算符,算数运算符,位运算符
转义符
\n 换行
\' 单引号
\" 双引号
\r 退格
\在java代码中没办法表示或与代码冲突的符号,用转义符来表示
赋值运算符
= 就是这个简单的等于号,在java中只有这个赋值运算符能去改变变量的值哦
int i=99;
算数运算符
加减乘除分别用 + - * /来表示,()括号是先运算的意思,和我们学的数学一样,这里就省略··
% 是取余或叫取模,可以得到除后的余数,整数则得到0
int i=10;
int u=i%2; //u得到的值是0
int h=i%3; //h得到的值是1
++是自增运算符 --是自减运算符
int i=100;
i++;
i++;分解开来的意思就是i=i+1;
++自增运算符和--自减运算符 分前缀和后缀的,这里有个先给值还是先运算的说法。
看图理解:
位运算符
位运算符就是把数值的二进制里面的位上面的0和1来比较或运算。0为false 1为true
&(与) |(或) ~(非) ^(异或) <<(向左位移) >>(向右位移) >>>(无条件向右位移)
&(与) 两边位数都为1(true)则给1(true),不用则给0(false)
例如:56&98
56 (二进制是0111000) & 98 (二进制是1100010)
结果 0100000
|(或) 两边有一边为1(true)就给1(true),否则给0(false)
例如56|98
56 0111000|
98 1100010
结果 1111010
~是取反的意思,在二进制里每一位都取反值:
例如98的二进制为:
00000000000000000000000001100010
每个位上取反值:
11111111111111111111111110011101
System.out.println(~98);
结果为:-99
^异或就是不等于的意思,判断两个数值在位上不相同则给1,相同给0.
例如:98^56
98 1100010
^
56 0111000
结果1011010
<<(向左位移)数值的二进制高位删除,低位补零.结果和乘法相似。
例如:98<<4
00000000000000000000000001100010
高位删除四个 地位添加4个零
00000000000000000000011000100000
>>(向右位移)高位如果是1 就补1 高位如果是0 就补0 低位删除。
例如:98>>4
00000000000000000000000001100010
因为高位是0 所以高位加的就是0
00000000000000000000000000000110
例如:-98>>4
11111111111111111111111110011110
因为高位是1 所以高位加的就是1
11111111111111111111111111111001
>>>(无条件向右位移)不管高位上是0还是1 高位只加0 低位删除。
-98>>>4
11111111111111111111111110011110
高位上只加零
00001111111111111111111111111001
位运算符的用处:
1.用于加密
2.用于不可解密的加密
3.减少储存空间等
运算符的优先级
( )
! ++ --
* / %
+ -
<< >> >>>
< <= >= >
== !=
^
|
&&
||
+= -= *= /= %= =
优先级排序从上到下