Java中的算术运算符

http://blog.sina.com.cn/s/blog_7c5064110100psax.html

Java中提供了两个类型的算术运算符,一是双目运算符,一是单目运算符。

其中双目运算符包括:(加)+,(减)-,(乘)*,(除)/,(求余)%

使用它们时应注意以下几点:

1)这些运算符的运算对象可以是byte、short、int、long、float、double、char类型,其中char类型在运算时被自动转为int型。

例:

public class Test1{

public static void main(String arg[]){

int A = 10;

char B = 'B';

System.out.println(A+B);

}

}

结果: 76

2)在Java中,整数被0除或对0取余属于非法运算,将抛出AtrthemticExcerption。

3)求余运算(%)的两个运算对象不但可以是整数,也可以是浮点类型;不但可以是正整数,也可以是负整数,其计算结果的符号与求余运算福左侧的运算对象符号一致。

例:

public class Test2{

public static void main(String arg[]){

float A = 10.01f;

float B = 2.33f;

System.out.println(A%B);

}

}

结果:0.6900053

4)如果参与除法运算的两个运算对象都属于整型,则运算为整除运算,若希望得到小数部分的商值则需要对其中一个运算对象的类型作强制转换。

例:

public class Test3{

public static void main(String arg[]){

int A = 10;

int B = 3;

System.out.println(A/(float)B);//强制转换

}

}

结果:3.3333333

5)运算符“+”的运算对象可以使String,它的操作含义是将两个字符串连接。如果其中一个对象为其他类型,则会自动将这个运算对象转换成字符串,然后再进行字符串的连接。

例:

public class Test4{

public static void main(String arg[]){

System.out.println("20+12/3="+(20+12/3));

}

}

结果:20+12/3=24

单目运算包括:+(正),-(负),++(自增),--(自减)

正负这个不用说啦。

自增自减这个东西,老是容易混淆,其实我们在编程时大可不必用这些容易混淆的东西。

不过还是来区分一下。简单的区分方法就是,看++、--在前面还是在后面,在前面则先自增、自减,在后面则先参与运算,再自增自减。例子如下:

假设x为100

(x++)-5*6这个表达式的值为70,x值为101(x参与运算后再自增)

(++x)-5*6这个表达式的值为71,x的值为101(x子增厚再参与运算)

自增自减虽然简洁,却会减少程序的可读性,因此还是少用为妙。