运算符
运算符: 运算法是一种特殊的符号,标识数据的运算,赋值等
根据分类
算数运算符
和前端运算法的方式是一致的,这里简单的描述% ++ --
%: 取余
++:增加
--: 减少
class Computed {
public static void main(String[] args) {
int i1 = 10;
int i2 = 4;
int i3 = i1 + i2;
int i4 = i1 - i2;
int i5 = i1 * i2;
int i6 = i1 / i2;
int i7 = i1 % i2; // 取余 为 2
int i8 = i1++; // i1=11(i1自增1) i8 = 10( i1自增之前的值)
int i9 = ++i1; // i1=12(i1自增1) i9 = 12( i1自增之后的值)
int i10 = --i1; // i1=11(i1减1) i10 = 11( i1自减之后的值)
int i11 = i1--; // i1=10(i1减1) i11 = 11( i1自减之前的值)
System.out.println(i8);
System.out.println(i9);
System.out.println(i10);
System.out.println(i11);
}
}
赋值运算符
赋值运算符 =,+=,-=,*=,/=, %=
class Computed {
public static void main(String[] args) {
int i1 = 10;
int i2 = 4;
// = 当 = 两边的数据类型不一致会强制使用强制类型原则自动转换
long i3 = i1 + i2;
// += -= *= /= %= 不会改变变量本事数据类型
int i4 += 0.1; // 最后答案为10,会是int类型
}
}
逻辑运算符
^异或: 符号两遍不同为true,相同为false
class Computed1 {
public static void main(String[] args) {
boolean b1 = false;
int i1 = 10;
if(b1 & i1++ > 10) {
System.out.println("成功");
}else {
System.out.println("失败");
}
System.out.println(i1); // 11
boolean b2 = false;
int i2 = 10;
if(b2 && i2++ > 10) {
System.out.println("成功");
}else {
System.out.println("失败");
}
System.out.println(i2); // 10
// a && b 和 a & b
// 相同点: 都代表且,只有a,b同时为true才为true
// 不同点:a && b a为true,b才执行,为false, b不执行
// a & b a为无论执行结果为什么,b都会执行
}
}
位运算符
>> (左移):在一定范围内,每向左移动一位,结果在原有的基础*2
<<(右移):在一定范围内,每向右移动以为,结果在原右的基础/2