一元操作符
赋值
a = 4
常数不能放在左边
对一个对象进行操作的时候,真正的操作是对对象的引用。所以如果“将一个对象赋值个另一个对象”,实际是将“引用”从一个地方赋值到另一个地方
算术操作符
+-/%(取余数)
整除法会直接去掉结果的小数位,而不是四舍五入的圆整结果
int i = 5;
int k = 7;
若i
一元加号减号和二元的加号减号都使用的相同的符号
x = -a;
x = a
自动递增和递减
递增符号是“++”,增加一个单位
递减符号是“—” ,减少一个单位
两种使用方法:
前缀式:表示“++”位于变量或者表达式的前面,先执行运算,后生成值
后缀式:表示“++”位于变量或者表达式的后面,先生成值,后执行运算
关系操作符
<,>,<=,>=
关系操作符是生成的是一个布尔结果,计算的是操作符之间的值的关系
equals
对于引用类型来说
例:自己创建Value对象和Integer对象,二者的区别:Value没有重写equals,Integer重写了equals
对于Value来说 v1.equals(v2) 调用的是Obeject中的equals,就是判断v1 == v2;
对于Integer来说,i1.equals(i2)调用的是Integer中的equals,其实判断的是int类型的值
逻辑操作符
“与”“&&”,“或”“||”,“非”“!”,可以根据参数的逻辑关系,生成一个布尔值。只可应用与布尔值
短路
一旦可以明确无误的确定整个表达式的值,就不再计算表达式余下的部分了
直接常量
直接常量的后缀字符代表了它的类型,例如大写或者小写的L,代表long,大写或者小写的F,代表float,大写或者小写的D,代表Double
按位操作符
如果两个输入位都是1,则按位“与”操作符“&”生成一个输出位1,否则生成一个输出位0
如果两个输入位只要有一个是1,则按位“或”操作符“|”生成一个输出位1,只有两个输入为都是0的情况下才获输出一个0
如果两个输入位中某一个是1,但是不全都是1,那么按位“异或”操作符“^”生成一个输出为1
按位“非”操作符“~”也称为取反操作符,属于一元操作符,只对一个操作数进行操作(其他按位操作符是二元操作符),按位“非”生成与输入位相反的值,如果输入的是1则生成0,如果输入的是0则生成1
移位操作符
以为操作符运算的对象是二进制的位,移位操作符只可用来处理整数类型(基本类型的一种)
左移位操作符(<<)能按照操作符右侧指定的位数将操作符左侧的操作数向左移动(低位补0)
三元操作符
三元操作符也称为条件操作符,有三个操作数,属于操作符的一种,最终会生成一个值
例如:boolean exp ?value 1:value2;
如果表达式 boolean exp 结果是true则值为value1,如果结果是false,则值为value2
字符串操作符
特殊用途:连接不同的字符串