基本运算符:+(加)、-(减)、*(乘)、/(除)、%(取余)
当参与/ 运算的两个操作数都是整数时, 表示整数除法;否则, 表示浮点除法。
整数的求余操作(有时称为取模)用% 表示。
例如, 15/2 等于7, 15%2 等于1 , 15.0/2 等于7.50
一、数学函数与常量:在Math 类中, 包含了各种各样的数学函数。
平方根:要想计算一个数值的平方根, 可以使用sqrt 方法:
double x = 4;
double y = Math.sqrt(x);
System.out.println(y); // prints 2.0
幂运算:在Java 中,没有幂运算, 因此需要借助于Math 类的pow 方法。语句:
double y = Math.pow(x, a) ;
将y 的值设置为x 的a 次幂(xa)。
pow 方法有两个double 类型的参数, 其返回结果也为double 类型。
Math 类提供了一些常用的三角函数:
Math,sin
Math.cos
Math.tan
Math.atan
Math.atan2
还有指数函数以及它的反函数—————自然对数以及以10 为底的对数:
Math.exp
Math.log
Math.log10
最后,Java 还提供了两个用于表示π和e 常量的近似值:
Math.PI
Math.E
***不必在数学方法名和常量名前添加前缀“ Math”, 只要在源文件的顶部加上下面这行代码就可以了。
import static java.1ang.Math.*;
例如:
System.out.println("The square root of \u03C0 is " + sqrt(PI)) ;
二、数值类型转换
经常需要将一种数值类型转换为另一种数值类型。
在图中有6 个实心箭头, 表示无信息丢失的转换;
有3 个虚箭头, 表示可能有精度损失的转换。
例如:123 456 789 是一个大整数, 它所包含的位数比float 类型所能够表达的位数多。
当将这个整型数值转换为float 类型时, 将会得到同样大小的结果, 但却失去了一定的精度。
//精度排序(由小到大):byte < short < char
float a =100;//a为float,100为精度较低的int型,系统会自动转换类型
int b = (int)200.0;//200.0为double,而b为int,高精度不会直接转换为低精度,需要进行手动类型转换,也叫强制类型转换
***注意
当使用上面两个数值进行二元操作时(例如n + f,n 是整数, f 是浮点数),先要将两个操作数转换为同一种类型,然后再进行计算。
•如果两个操作数中有一个是double 类型, 另一个操作数就会转换为double 类型。
•否则, 如果其中一个操作数是float 类型, 另一个操作数将会转换为float 类型。
•否则, 如果其中一个操作数是long 类型, 另一个操作数将会转换为long 类型。
•否则, 两个操作数都将被转换为int 类型。
三、简化运算
x+=4;// x+=4;<=>x=x+4;一般把运算符放在等号左边;
a=n++;//后缀自增运算会使用原来的值
b=++m;//前缀自增运算会使用加1之后的值
自减同理;
==:检测相等性;
!=:检测不相等性;
经常使用的< (小于)、 > (大于)、<=(小于等于)和>= (大于等于)运算符。
Java 沿用了C++ 的做法,使用&& 表示逻辑“ 与” 运算符,使用 ||表示逻辑“ 或” 运算符;
System.out.println(3>=7&&4==5);//与运算全真为真,此式结果为false
System.out.println(3>=7||5==5);//或运算一真全真,此式结果为true
括号与运算符:考虑优先级问题
位运算:过后再学