运算符
运算符用于连接值,Java中提供了算术和逻辑运算符以及数学函数。
一、算术运算符
1、常用的算术运算符
运算符 | 标识 |
---|---|
加运算 | + |
减运算 | – |
乘运算 | * |
除运算 | / |
取模运算 | % |
2、注意事项
① 除法运算
若参加运算的两个操作数都是整数时,表示整数除法,得到的结果也将是整数,会舍弃余数
若参加运算的操作符有一个是浮点型,得到的结果也将是浮点型
int num1 = 1;
int num2 = 3;
double num3 = 1.0;
double num4 = 3.0;
float num5 = 1.0f;
float num6 = 3.0f;
System.out.println(num1 / num2);//0
System.out.println(num1 / num4);//0.3333333333333333
System.out.println(num1 / num6);//0.33333334
System.out.println(num3 / num2);//0.3333333333333333
System.out.println(num3 / num4);//0.3333333333333333
System.out.println(num3 / num6);//0.3333333333333333
System.out.println(num5 / num2);//0.33333334
System.out.println(num5 / num4);//0.3333333333333333
System.out.println(num5 / num6);//0.33333334
复制代码
② 除零
整数除0,将会产生一个异常,而浮点数除0,将会得到一个无穷大或者NaN
//System.out.println(12 / 0);//java.lang.ArithmeticException: / by zero 异常
int n1 = 12;
int n2 = 0;
double n3 = 12.0;
//System.out.println(n1 / n2);//java.lang.ArithmeticException: / by zero 异常
//System.out.println(n3 / n2);//Infinity
//int n4 = n1 / n2;//java.lang.ArithmeticException: / by zero 异常
//System.out.println(n4);
double n5 = n3 / n2;
System.out.println(n5);//Infinity
复制代码
③ 关于取模运算
int x = 12;
double x1 = 12.0;
int y = 5;
double z = 5.0;
double z1 = 4.0;
System.out.println(x % y);//2
System.out.println(x % z);//2.0
System.out.println(x % z1);//0.0
System.out.println(x1 % y);//2.0
复制代码
二、数学函数
在Math类中,包含了各种各样的数学函数。
1、常用的数学函数
函数 | 格式 | 说明 |
---|---|---|
求数值的平方根 | Math.sqrt(x) | 结果返回值为double |
幂运算 | Math.pow(x,a) | 两个double型的参数,结果返回值为double |
三角函数 | Math.sin / Math.cos / Math.tan 等 | |
指数函数 | Math.exp / Math.log / Math.log10 |
2、常用的数学值
常量 | 格式 | 说明 |
---|---|---|
pai | Math.PI | 提供了该常量最接近的近似值 |
e | Math.E | 提供了该常量最接近的近似值 |
若不想每次加入Math的前缀,可以在源文件的顶部加上
import static java.lang.Math.*
三、赋值与运算符的结合
就相当于是
注:
若其类型与左侧操作数的类型不同,就会发生强制类型转换。
也就是如果x是一个int类型的 x += 3.5; 是合法的,就相当于是
(int)(x + 3.5)
四、关系运算符
① == 以及 !=
检测相等性
②四种常用的关系运算符
< > <= >=
③ 逻辑运算
&& || ! <br》
注意:&&运算以及||运算是按照“短路”方式来求值的:也就是如果第一个操作数已经能够确定表达式的值,那么第二个操作就不必再运算了。
④ 三元操作符
condition ? expression1 : expression2
五、位运算符
处理整型类型时,可以直接对组成整数的各个位完成操作。这就意味着可以使用掩码技术得到整数中的各个位,是处理速度最快的一种操作符。其中位操作符包括了一下四种:
& (and)
| (or)
^ (xor)
~ (not)
这些运算符采用按位模式处理,>>以及<<可以将位模式左移和右移
运算符会用0填充最高位,>>会用符号位填充高位
<<< 运算符不存在
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END