Java运算符可分为:
算术运算符、赋值运算符、关系运算符、逻辑运算符、位运算符、条件运算符与其他运算符。
算术运算符
进行数据计算
运算符 |
描述 |
例子 |
+ |
双目运算符,对两边操作数进行求和运算 |
a+b=c |
- |
双目运算符,对两边操作数进行求差运算 |
a-b=c |
* |
双目运算符,对两边操作数进行求积运算 |
a*b=c |
/ |
双目运算符,对两边操作数进行求商运算 |
a/b=c |
% |
双目运算符,对两边操作数进行求余(取模)运算 |
a%b=c |
byte/short在运算的时候会自动的提升为int,然后进行运算,运算结果为int。
同一个类型参与运算,结果的类型与参与运算的类型一致。
如果运算过程中有大类型参与了运算,结果一定是大类型
由于绝大部分小数在转化成二进制的时候是无限小数,所以double类型在存储小数的时候也没有办法精确存储,因此也没有办法来精确运算。
整数/0 :ArithmeticException(算数异常)。
任意非0数字/0.0或者是任意小数/0 :Infinity(无穷大)。
0/0.0->NaN-> Not a Number(非数字)NaN和任何值都不相等包括其本身。
判断一个对象是否是NaN只有一个方法isNaN();
允许对浮点数进行取模操作。
public static void main(String[] args) {
int a = 5;
int b = 3;
double c = 3.31;
double d = 1.1;
int w;
double s;
double z;
//加 +
System.out.println("<==========(+)==========>");
w=a+b;
s=a+c;
z=c+d;
System.out.println("int求和"+w);
System.out.println("int double 求和"+s);
System.out.println("double double 求和"+z);
//减 -
System.out.println("<==========(-)==========>");
w=a-b;
s=a-c;
z=c+d;
System.out.println("int 求差:"+w);
//由于绝大部分小数在转化成二进制的时候是无限小数,所以double类型在存储小数的时候也没有办法精确存储,因此也没有办法来精确运算
System.out.println("int double 求差:"+s);
System.out.println("double double 求差:"+z);
//乘 *
System.out.println("<==========(*)==========>");
w=a*b;
s=a*c;
z=c+d;
System.out.println("int 求积:"+w);
System.out.println("int double 求积:"+s);
System.out.println("double double 求积:"+z);
// 除 /
System.out.println("<==========(/)==========>");
w=a/b;
s=a/c;
z=c/d;
System.out.println("int 求商:"+w);
System.out.println("int double 求商:"+s);
System.out.println("double double 求商:"+z);
// 余(求莫) %
System.out.println("<==========(%)==========>");
w=a%b;
s=a%c;
z=c%d;
System.out.println("int 求余(求莫):"+w);
System.out.println("int double 求余(求莫):"+s);
System.out.println("double double 求余(求莫):"+z);
System.out.println("<==========任意非0数字/0.0或者是任意小数/0==========>");
s = a/0.0;
z = c/