java基础回顾--运算符operator
java支持的运算符operator
- 算术运算符:+,-,*,/,%,++,–
- 赋值运算符:=
- 关系运算符:>,<,>=,<=,==,!=,instanceof
- 逻辑运算符:&(逻辑与),|(逻辑或),!(逻辑非), &&(短路与),||(短路或)(采用短路的方式,从左到右计算,如果第一个操作数已经能够确定表达是你的值,第二个操作数就不必计算了)
- 位运算符:&(按位与),|(按位或),^(按位异或),~(取反),>>(右移),<<(左移),>>>(无符号右移运算符)
- 条件运算符: a?b:c
- 扩展赋值运算符:+=,-=,*=,/=
算术、赋值、逻辑、扩展赋值以及条件运算符相对简单,在此不过多介绍。
运算符优先级
取模运算符
- 整数被0除会产生一个异常,浮点数被0除会得到无穷大或NaN结果。
- 结果的正负与被除数保持一致:
(1)正数%正数 = 正数;
(2)负数%负数=负数;
(3)负数%正数=负数;
(4)正数%负数=正数;
float f2 = 4.0f; //定义单精度浮点数
double d = -0.3; //定义双精度浮点数
System.out.println(f2%d); //结果为负数
自增、自减运算符
public class AutoAdd {
public static void main(String[] args) {
// TODO Auto-geierated method stub
int i=7;int m=7;
System.out.println("i++:"+(i++)+"\ni++在运算时使用原值7,之后再加1\n");
System.out.println("使用i++之后的i值:"+i+"\n");
System.out.println("++i:"+(++i)); //先+1再参与运算等处理
int k;
k=m++ + ++m;
System.out.println("k=m++ + ++m;\nk的值为:"+k); //k=(i++)+(++i)=7+9=16;
}
}
运算结果如下: