算数运算符
算术运算符包括:+,-,*,/,%,++,--;分别表示加,减,乘,除,求余,自增,自减。
除法运算
1.如果两个操作数都是整数类型,则计算结果也是整数,就是将自然除法的结果截断取整,比如:19/4=4;但是除数不可为0,不然会异常。比如:5/0,会出现 java.lang.ArithmeticException算数异常。
2.如果除法运算的两个操作数有至少一个浮点数,则计算结果也是浮点数,结果就是自然除法的结果。此时允许除数是0,或者0.0,得到的结果是正无穷大(Infinity)或者负无穷大(-Infinity)。
求余运算
求余运算的结果不一定总是整数。第一个操作数除以第二个操作数剩下的值就是余数。比如:5.2%3.1=2.1。由于求余运算也要进行除法运算,因此:
1. 如果两个操作数都是整数类型,则求余运算的第二个操作数不能为0,否则引发异常。比如:5%0,会出现 java.lang.ArithmeticException算数异常。
2. 如果除法运算的两个操作数有至少一个浮点数,则允许第二个操作数为0或0.0,求余运算的结果是非数:NaN。比如:5.7%0=NaN。
3. 0或0.0对零以外的任何数求余都将得到0或0.0。比如:0%3=0,0%3.7=0.0。
自增运算与自减运算
1.自增是单目运算符,只能操作一个操作数。
2.只能操作单个数值型(整形,浮点型都行)的变量,不能操作常量或表达式。
3.运算符可以出现操作数的左边或右边,但是效果不同。左边为先加1,再放入表达式中运算,右边为先放入表达式中运算,再加1。
比如:
int m=7;
int n=7;
int a = 2 * ++m; //a的值为16,m的值为8
int b = 2 * n++; //b的值为14,n的值为8
关系运算符
java包含各种关系运算符。包括:==(等于),!=(不等于),>(大于),<(小于),>=(大于等于),<=(小于等于)。
逻辑运算符
逻辑运算符包括:&(与),|(或),&&(短路与),||(短路或),!(非),^(异或)。
对于expression1 && expression2,若第一个表达式为false则表达式不可能为真。因此第二个表达式将不会计算。
对于expression1 || expression2,若第一个表达式为ture则表达式不可能为假。因此第二个表达式将不会计算。
三目运算符
表达式:
condition ? if_true_expression1 : if_false_expression2
当条件condition为真时计算第一个表达式,否则计算第二个表达式,例如:
x < y ? x : y
返回x和y当中较小的值
数学函数与常量
在Math类中,包含了各种各样的数学函数。在编写不同类别的程序时,可能需要的函数也不同。
//定义变量a为3.2
double a = 3.2;
//求a的5次方
Math.pow(a,5);
//求a的平凡根
Math.sqrt(a);
//计算随机数,返回一个0到1之间的伪随机数
Math.random();
//求a的sin函数值,a被当成弧度数
Math.sin(a);
最后java还提供了两个用于表示π和e常量的近似值:
Math.PI
Math.E
使用的时候共有两种方式
第一种
package com.dao.chu;
public class Mathtest {
public static void main(String args) {
System.out.println(Math.PI);
System.out.println(Math.E);
}
}
第二种
package com.dao.chu;
import static java.lang.Math.*;
public class Mathtest {
public static void main(String args) {
System.out.println(PI);
System.out.println(E);
}
}