Java中的运算符:
算数运算符,逻辑运算符,关系运算符,赋值元素符,三目运算符。
算数运算符:
+ - * 与我们小学所熟知的+ - *一致,但是会存在自动类型转换。(+也可以用于字符串之间的连接)
int a = 2; int b = 3; int c = a + b; int d = a - b; int e = a * b; System.out.println(c);//5 System.out.println(d);//-1 System.out.println(e);//6
/(除法)%(取模取余)取模运算中有些特别。
int a = -6/3;//-2 int b = -6/-3;//2 int c = -10%3;//-1 int d = 10%-3;//1 int e = -10%-3;//-1
总结规律:在整数除法中是结果的正负与我们的初中所学的除法类似。取模运算中我们可以发现结果的正负与被除数相同,这是我们要注意的地方。
++ 自增 --自减
举例来说:i++和++i相当自身+1。在独立运算中i++和++i对结果无影响。例如:int i =0;
i++; System.out.println(i)//1。但是在混合运算中就要考虑他们的区别。
i++是先赋值,再进行+1;
++i是先进行+1,再赋值。
int i = 0; int b = i++; //b=0 i=1 int c = ++i;//c=2 i=2 Syetem.out.println(b);//b=0 System.out.println(c);//c=2
这是我们要注意的点,--i和i--也是同理。
注意:在java中 int i = 0; i = i++; 这个 i 的上输出值为0,不会改变i本身的值。
类型转换
算数运算符的使用中会有自动类型转换,自动转换关系:byteshortchar=>int=>float=>double。举个例子:
System.out.println(5/2);//2,而不是2.5 System.out.println(5.0/2);//2.5
这里我们可以发现算出的结果的数据类型,应该与表达式中数据类型高的一致。
在计算再赋值的时候,是先转换到后面的类型然后再计算,计算完再进行赋值。这其中就会有类型不对的情况。反例:
double a = 2.5; int i = a/2;//这个就是错误的 2.5/2计算结果为1.25是double类型,不能向下的数据类型转换,会丢失进度
在使用算数运算符的时候,很多情况的报错,都可能是这里出了问题。 总结:运算注意数据类型的转换,计算的时候要表明数据的类型和结果的数据类型,大范围的不能向小范围的类型转换。



