码迷,mamicode.com
首页 > 编程语言 > 详细

java对byte,short,char,int,long运算时自动类型转化情况说明

时间:2014-11-06 17:29:54      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:java   基本类型转化   

大家都知道,在进行运算时,java会隐式的自动进行类型转化,那么有哪些情况会进行转化呢?总结如下:

一、算术运算符

单目运算符:+(取正)-(取负) ++(自增1) --(自减1)

1.1 +(取正)-(取负)

当操作数是byte,short,char时,会自动转化为int类型;返回结果为int。

当操作数是int,long时,不转化,原来是啥类型,还是啥类型。

1.2 ++(自增1) --(自减1)

不管操作数是啥类型,不转化。


双目运算符:+ - * / %(取余)

 1.3 + - * / %(取余)

当两个操作数中没有long类型时,两个操作数中非int类型会先自动转换为int类型,再参与运算,返回结果为int;

当两个操作数中含有long类型时,两个操作数中非long类型会自动转换为long类型,再参与运算,返回结果为long;


二、位运算符

位运算符:&(与)、|(或)、^(异或)、~(非)、<< (带符号左移)、 >>(带符号右移)、 >>> (无符号右移)

 2.1  &(与)、|(或)、^(异或)

与1.3情况相同

 2.2 ~(非)

与1.1情况相同

 2.3 << (带符号左移)、 >>(带符号右移)、 >>> (无符号右移)

与1.1情况相同


总结

虽然上面列出这么多种情况,但归纳下不难记住。

即:除了自增加自减不进行转化外,其它情况都是无long型时,所有非int类型转成int类型;有long类型时,都转成long类型



java对byte,short,char,int,long运算时自动类型转化情况说明

标签:java   基本类型转化   

原文地址:http://blog.csdn.net/tang9140/article/details/40860529

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!