Java中的运算符
算术运算符
+ 加 - 减 * 乘 / 取模 取的两个数相除的商 % 求余 获得是余数
++自增 c++ 先取值 后运算(执行+1操作) ++c先运算(执行+1操作) 后取值
--自减
逻辑运算符
& 逻辑与 && 短路与
与运算,如果有一个结果为false 那么结果肯定为false
在逻辑与中,无论第一个结果是ture还是false 第二个都要进行比较
短路与:如果第一比较的结果是false,那么第二个就不参与比较运算
如果第一个比较的结果是true 才会进行第二个比较运算
| 逻辑或 || 短路或
或运算,如果有一个结果为true 那么结果肯定为true
在逻辑或中,无论第一个结果是ture还是false 第二个都要进行比较
短路或:如果第一比较的结果是true,那么第二个就不参与比较运算
如果第一个比较的结果是false 才会进行第二个比较运算
^异或 :相同为0 不同为1
0000 0010
0000 0011
------------------
0000 0001
/*
比如 有两个整数 a= 2; b= 3 交换a 和b的值
不使用中间变量 来交换两个数的值
*/
public class OperatorDemo2{
public static void main(String[] args){
int a= 2;
int b = 3;
int temp;
temp = a;
a = b;
b = temp;
System.out.println(a+"----"+b);
System.out.println("---------------------------------");
int m = 4;
int n = 5;
m= m ^ n;
n = m ^ n;
m = m ^ n;
System.out.println(m+"----"+n);
System.out.println("---------------------------------");
int x = 6;
int y = 7;
x = x + y;
y = x - y;
x = x - y ;
System.out.println(x+"----"+y);
System.out.println("---------------------------------");
int k = 8;
int v = 9;
k = k * v;
v = k /v;
k = k /v;
System.out.println(k+"----"+v);
}
}
赋值运算符:
条件运算符(三元运算符/三目运算符)
格式:op1 ? op2:op3
op1是一个条件表达式,如果这个条件成立(true),那么该运算的结果就为op2 否则为 op3
表达式:是符合一定语法规则的运算符和操作数的组合
表达式的类型和值
对表达式中操作数进行运算得到的结果称为表达式的值
表达式的值的数据类型即为表达式的类型
表达式的运算顺序:应按照运算符的优先级从高到低的顺序进行,优先级相同的运算符按照事先约定的结合方向进行
位运算
位运算是所有运算中最快速和最高效的运算方式
在位运算中,左移是乘,左移几位就是对目标数据乘以2的几次方
右移是除,右移几位 就是对目标数据除以2的几次方