Java数据类型之间的相互转换

    xiaoxiao2025-03-29  7

    首先有几个原则:

    1.byte,short,char变量之间(注意是变量,常量不同)运算时候直接转换成int类型再计算。   如果这些变量与常量做运算就保留原变量的类型,不必转换成int类型再运算。 2.float:    float f3 = 1.23f;//必须加f 3.boolean类型不能强制转换为其它类型

    例子:

    int i1 = 123;          int i2 = 456;         double d1 = (i1+i2)*1.2;//系统将转换为double型运算         float f1 = (float)((i1+i2)*1.2);//需要加强制转换符         byte b1 = 67;                //可以将int常量直接赋值给byte,short,char.  in变量必须强制转换         byte b2 = 89;         byte b3 = (byte)(b1+b2);//系统将转换为int型运算,必须强制转换                                          System.out.println(b3);         double d2 = 1e200;         float f2 = (float)d2;//会产生溢出         System.out.println(f2);         float f3 = 1.23f;//必须加f         long l1 = 123;         long l2 = 30000000000L;//必须加l         float f = l1+l2+f3;//系统将转换为float型计算         long l = (long)f;//强制转换会舍去小数部分(不是四舍五入)

    另外,以下为转载:

    byte 是字节数据类型 ,是有符号型的,占1 个字节;大小范围为-128—127 。char 是字符数据类型 ,是无符号型的,占2字节(Unicode码 );大小范围 是065535 ;char是一个16位二进制的Unicode字符,JAVAchar来表示一个字符 。

            下面用实例来比较一下二者的区别:

    1、Char是无符号型的,可以表示一个整数,不能表示负数;而byte是有符号型的,可以表示-128—127 的数;如:

    [html]  view plain  copy char c = (char) -3; // char不能识别负数,必须强制转换否则报错,即使强制转换之后,也无法识别   System.out.println(c);   byte d1 = 1;   byte d2 = -1;   byte d3 = 127; // 如果是byte d3 = 128;会报错   byte d4 = -128; // 如果是byte d4 = -129;会报错   System.out.println(d1);   System.out.println(d2);   System.out.println(d3);   System.out.println(d4);  

    结果为:

    ? 1 -1 127 -128

    2、char可以表中文字符,byte不可以,如:

    [html]  view plain  copy char e1 = '中'e2 = '国';   byte f= (byte) '中'; //必须强制转换否则报错   System.out.println(e1);   System.out.println(e2);   System.out.println(f);  

    结果为:

    中 国 45

    3、char、byteint对于英文字符,可以相互转化,如:

    [html]  view plain  copy byte g = 'b';   //b对应ASCII是98   char h = (char) g;   char i = 85;    //U对应ASCII是85   int j = 'h';    //h对应ASCII是104   System.out.println(g);   System.out.println(h);   System.out.println(i);   System.out.println(j);   结果为: 98 b U 104
    转载请注明原文地址: https://ju.6miu.com/read-1297524.html
    最新回复(0)