运算符
- 运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如:2+3,其操作数是2和3,而运算符则是“+”。在vb2005中运算符大致可以分为5种类型:算术运算符、连接运算符、关系运算符、赋值运算符和逻辑运算符。
自增自减
- 后++ --(i++):此种情况和其他代码在一行的时候,先使用加或减之前的值。(先用后加)
- 前++ --(++i):此种情况和其他代码在一行的时候,使用加或减之后的值。(先加后用)
比较运算符
class demo
{
public static void main(String[] args)
{
int a = 12;
int b = 12;
/*
//-------------------------(1)-------------------------
boolean isTrue = (a == b);
System.out.println(isTrue);
//-----------------------------------------------------
*/
//-------------------------(2)-------------------------
System.out.println(a == b);
//-----------------------------------------------------
//这两种输出是一样的效果
}
}
这两种输出效果一样,本节目的是知道直接使用System.out.println(a == b);也可以输出true或false。
逻辑运算符
-
&:用于连接多个表达式的判断true & true = true,& 两边的表达式都要参与计算。
-
|:用于连接多个表达式的判断false | false = false,| 两边的表达式都要参与计算。
-
&&:用于连接多个表达式的判断true & true = true,如果第一个表达式能解决整个表达式的结果,第二个表达式就不用计算了。也就是说&&连接的判断表达式必须全为true才为true,从第一个表达时开始判断,一旦检测到有表达式为false,立即判断整个表达式为false。
-
||:用于连接多个表达式的判断false | false = false,如果第一个表达式能解决整个表达式的结果,第二个表达式就不用计算了。也就是说||连接的判断表达式必须全为false才为false,从第一个表达时开始判断,一旦检测到有表达式为true,立即判断整个表达式为true。
-
^:用于连接多个表达式的判断,如果两个表达式相同就是false,不同就是true,两边都参与计算。(了解)
-
!:取反。
位运算
- 左移:<<
2 的 2 进制表示为: 0 0 0 0 0 0 1 0
a << 2: 表示向左移动两位,右边空出来的位置用 0 补,于是变成:0 0 0 0 1 0 0 0
2 进制的 0 0 0 0 1 0 0 0 表示 8,所以打印出来的是 8。
- 右移:>>
与上面不同的是,向右移动的时候,高位就会产生空位,如果高位是0,就用0来补,如果高位是1就用1来补,也就是说,右移是带着符号位移动的。
16的2进制表示为:0 0 0 1 0 0 0 0
16 >> 3:表示向左移动三位,左边空出来三个位置,由于最高位是0,所以用0来补,于是变成:0 0 0 0 0 0 1 0
2 进制的 0 0 0 0 0 0 1 0 表示 2,所以打印出来的是 2。
原码 、反码 和补码
- 正数的原码,反码,补码都是一样的。
- 负数的反码是原码符号位不变,其他位相反,补码为反码加一。
- 移码为补码符号为相反,其他不变
- 补码就是负数在计算机中的二进制表示方法。
正负 3 补码相加
0 0 0 0 0 0 1 1
1 1 1 1 1 1 0 1
———————
0 0 0 0 0 0 0 0
注意:计算机中所有二进制的运算都是用的补码进行运算。
- 无符号右移 :>>>
高位无需管符号位,都用0补
3 的 2 进制表示为: 0 0 0 0 0 0 1 1
3 >>> 2:表示将3无符号向右移动2位,变成:0 0 0 0 0 0 0 0
二进制的 0 0 0 0 0 0 0 0 的 10 进制为 0,所以打印出来 0。
-3 的 2 进制表示为 1 1 1 1 1 1 0 1
e >>> 2:表示无符号右移2位,应该变成:0 0 1 1 1 1 1 1
但是: 变成了1073741823,为什么呢?
因为 -3 为整数类型,4个字节占够32位,这才是真正的 -3 :1111 1111 1111 1111 1111 1111 1111 1101
无符号右移以后为:0011 1111 1111 1111 1111 1111 1111 1111
三元运算符
- 格式:表达式 ? 表达式1 :表达式2
- 解释:表达式条件成立的时候(true),结果为表达式1;反之(false),结果为表达式2。
转义字符
- java中反斜线’'通常和其他字符组合使用,我们有时候称它为转义字符。
- java代码里要表示一个反斜线’'就要写成双斜线形式"\",第一个反斜线代表转义,第二个可以看做普通字符。
- java中奇数个的反斜线不允许出现,除非后面有其他字符,那么最后一个反斜线就被当做了转义字符。
如有错误,欢迎指正!