运算符

来源:互联网 发布:是算法工程师 年龄大了 编辑:程序博客网 时间:2024/05/17 06:19

1.基本运算符

1).在Java中,当采用/运算的两个操作数都是整数时,表示整数除法;否则表示浮点除法。整数的求余操作用%表示。

2).整数被0除,将会产生一个异常,而浮点数被0除将会得到无穷大或NaN结果。

3).如果将一个类标记为strictfp,这个类中的所有方法都要使用严格的浮点计算。

2.自增运算符与自减运算符

 n++:先使用n原来的值进行计算,再给n+1

++n:先给n+1,再进行计算

eg:int m = 7;

int n = 7;

int a = 2 * ++m;   //(a = 16, m = 8)

int b = 2 * n++;    //(b = 14, n = 8)

3.关系运算符与boolean运算符

==   !=   >=   <=  >   <

&&(若第一个条件不满足,就不用再验证第二个条件了)       

     ||   ! x<y?x:y(三元运算符

4.位运算符:&(与) |(或) ^(异或) ~(非)

1)&和|运算符应用于布尔值,得到的结果也是布尔值。这两个运算符与&&和||非常相似,只是它们要计算两个操作数的值。

2)>>>运算符将用0填充高位,>>运算符用符号位填充高位,没有<<<运算符。

5.数学函数与常量

1)计算一个数值的平方根。可以用sqrt方法:

double x = 4;

double y = Math.sqrt(x);

System.out.println(y); //prints 2.0

2)在Java中,没有幂运算,因此要借助于Math类的pow方法:

double y = Math.pow(x, a); 将y的值设为x的a次幂(),pow方法有两个double类型的参数,其返回结果也为double类型。

3)Math类提供了一些常用的三角函数:Math.sin Math.cos Math.tan Math.atan Math.atan2

4)Math类还提供了一些常用的反函数(Math.exp) 自然对数(Math.log)

5)Java还提供了两个用于表示π和e常量的近似值:Math.PI Math.E

6.数值类型之间的转换:

当使用两个数值进行二元操作时(例如n+f,n是整数,f是浮点数),先要将两个操作数转换为同一种类型,然后再进行计算。

1)如果两个操作数中有一个是double型的,另一个操作数就会转换为double型的。

2)否则,如果其中一个操作数值float类型,另一个操作数将会转换为float类型。

3)否则,如果其中一个操作数是long类型,另一个操作数会转换为long类型。

4)否则,两个操作数都将会被转换为int类型。

7.强制类型转换:

1)强制类型转换的语法是:在圆括号中给出想要转换的目标类型,后面紧跟待转换的变量名。

eg:double x = 9.997;

         int nx  = (int) x;              //此时nx为9

2)强制类型转换通过截断小数部分将浮点值转换为整型。

3)如果要对浮点数进行舍入运算,使用Math.round()方法。

eg: double x = 9.997;

      int nx = (int) Math.round(x);           //此时nx为10

4)当调用round的时候,仍然需要使用强制类型转换(int)。由于round方法返回的结果是long类型,有信息丢失的可能,所以只有使用显式的强制类型转换才能将long类型转       换成int类型。

5)不要在boolean类型与任何数值类型之间进行强制类型转换,这样可以防止发生错误。

8.括号与运算符级别

1)如果不使用圆括号,就按照给出的运算符优先级次序进行计算,同一级别的运算符按照从左到右的次序进行运算。

2)&&的优先级比||高。即a && b || c 等价于 ( a && b ) || c.

3)+= 是右结合运算符。 即 a += b += c 等价于 a += ( b += c ).

9.枚举类型

1)变量的取值只在一个集合内时使用枚举。比如衣服的尺码大小(大,中,小)。

2)可以自定义枚举,枚举类型包括有限个命名的值。(例如:enum Size { SMALL, MEDIUM, LARGE, EXTRA_LARGE}; 现在可以声明这样一种类型的变量: Size s = Size.MEDIUM; Size类型的变量只能存储这个类型声明中给定的某个枚举值,或者null值,null表示这个变量没有设置任何值。)。


0 0
原创粉丝点击