java-运算符

基本运算符:+(加)、-(减)、*(乘)、/(除)、%(取余)

当参与/ 运算的两个操作数都是整数时, 表示整数除法;否则, 表示浮点除法。

整数的求余操作(有时称为取模)用% 表示。

例如, 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)) ;

 

二、数值类型转换

java-运算符_第1张图片

 

 

 

经常需要将一种数值类型转换为另一种数值类型。

在图中有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

括号与运算符:考虑优先级问题

 

位运算:过后再学

 

你可能感兴趣的:(java-运算符)