Java 数据类型

8种基本类型

byit

short

int

long

/*	l1如果不加L会报编译时错误,超出int类型的范围,(最好定义时每个都加L)
   加L以区分该数的数据类型 long和int
   "L"理论上不分大小写,但是若写成"l"容易与数字"1"混淆,不容易分辩。所以最好大写。	
*/

float

double

boolean

char

自动数据类型装换

当一个较"小"数据与一个较"大"的数据一起运算时,系统将自动将"小"数据转换成"大"数据,再进行运算。这里我们所说的"大"与"小",并不是指占用字节的多少,而是指表示值的范围的大小。

低  ------------------------------------>  高
byte,short,char —> int —> long
float —> double
  1. 不能对boolean类型进行类型转换。

  2. 不能把对象类型转换成不相关类的对象。

  3. 在把容量大的类型转换为容量小的类型时必须使用强制类型转换。

  4. 转换过程中可能导致溢出或损失精度,例如:

    int i = 128;
    byte b = (byte)i;
    System.out.println(b);
    //自己测一下
    
  5. 浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入,例如:

    (int)23.7 == 23;        
    (int)-45.89f == -45
    

强制类型转换

  1. 条件是转换的数据类型必须是兼容的。
  2. 格式:(type) value type是要强制类型转换后的数据类型 实例:
    public class Test{
        public static void main(String[] args){
        	int i1 = 123;
            byte b = (byte)i1;//强制类型转换为byte
            System.out.println("int强制类型转换为byte后的值等于"+b);    
        }
    }
    /*
    运行结果:
    	int强制类型转换为byte后的值等于123
    */
    

隐含强制类型转换

  1. 整数的默认类型是 int。
  2. 浮点型不存在这种情况,因为在定义 float 类型时必须在数字后面跟上 F 或者 f。

对应包装类

Byte

Short

Integer

Long

Float

Double

Character

引用类型

其他类(除开基本类型,其他都是)

String(最多)

posted @ 2021-06-10 11:37  我豪  阅读(63)  评论(0)    收藏  举报