标签:java
这一章节来聊一下算术操作符
1.自动转换结果类型。
package com.ray.ch01; public class Test { public static void main(String[] args) { int a = 2, b = 3; int c = a / b; int d = b / a; System.out.println(c); System.out.println(d); } }
2.表达式里面的变量或者常量自动转型,而且是向右转型,往能够容纳更大数据的类型转换。
转型方向:byte->shot(char)->int->long>float->double
package com.ray.ch01; public class Test { public static void main(String[] args) { byte a = 2, b = 3; int c = a / b; int d = b / a; // a=c+d;//只能向上转换,不能向下转换,这里报错 System.out.println(c); System.out.println(d); } }
3.一元加与一元减
一元减:就是把数值取反。例如-(+1)=-1,-(-1)=1
一元加:只是把类型提升为int,对于大于int类型的数据不起作用。
下面是代码例子:
package com.ray.ch01; public class Test { public static void main(String[] args) { byte a = 2; double c = 2.1; int b = 1 * -a;//等价于 int b = 1*(-a) double d = 2 * -c; System.out.println(getType(+a)); System.out.println(getType(+d)); System.out.println(b); System.out.println(d); } public static String getType(Object o) { return o.getClass().toString(); } }
class java.lang.Integer
class java.lang.Double
-2
-4.2
从上面的例子我们可以看到,1*-a这个在编译器里面是成立的,因此我们为了可读性,一般会写成1*(-a)
总结:这一章节我们讨论了算术操作符的三个注意点。
这一章节就到这里,谢谢。
-----------------------------------
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:java
原文地址:http://blog.csdn.net/raylee2007/article/details/49329549