java中byte,short,char,int,long运算

    xiaoxiao2023-03-25  4

    大家都知道,在进行运算时,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类型

    转载请注明原文地址: https://ju.6miu.com/read-1204009.html
    最新回复(0)