数据类型转换

    xiaoxiao2021-11-06  108

    1、转换分为自动转换和强制转换。

    自动转换原则:

    (1)转换前数据类型与转换后的类型兼容。

    (2)转换后的数据类型的表示范围比转换前的大。

    各个类型的表示范围:

    byte(8/位):-2^(8-1)~2^(8-1)-1

    short(16位):-2^(16-1)~2^(16-1)-1

    int(32位):-2^(32-1)~2^(32-1)-1

    long(64位): -2^(64-1)~2^(64-1)-1

    *char(16位):0~255 (注意:没有符号-)

    类型转换:

    byte     short     int      long      float      double

     

                       char

    任何类型是数据都向String转型。

    注意

    byte无法自动向cha’r转换。(原因有可能是char没有符号)

    char无法自动向short转换。(原因有可能是都是十六位)

    char在定义的时候有两种情况:

    (1)如果没有单引号包含,则无法单独输出(也不会编译错误)

    String a ="mrcai";

           charb=5;

           a =a+b;

           System.out.println(a);

           结果是:mrcai

    String a ="mrcai";

           charb=’5’; //有单引号包含

           a =a+b;

            System.out.println(a);

           结果是:mrcai5

    值得注意的是

    chara ='a';

           System.out.println(a);

           结果:a

    inta ='a';

           intA ='A';

           System.out.println(a+"\t"+A);

           结果:97 65

    chara = 'a';

           charA = 'A';

           System.out.println(a+A);

          结果:162

    三个对比看char类型输出变化:

    1       chara =5;

           System.out.println(a);

           结果:(无,非空null并且无编译错误)

    2       chara = '5';

           System.out.println(a);

             结果为:5

    3       chara = '5';

           charA = 'A';

           System.out.println(a+A);

           结果为:118 ('5'在输出是变成了53'A'65'0'48)

    转载请注明原文地址: https://ju.6miu.com/read-678040.html

    最新回复(0)