java语言基本类型分为三大类;
    分别为数值型,字符型,布尔型;这三类具体又包含8个类型。
    每种具体类型都有相应的关键字表示;

    1.数值型包含:整型,浮点型(就是小数)两小类;
    数值型当中的整型又包含了四类:byte;short;int;long
    数值型当中的浮点型又包含了两类:float;double
    2.字符型:char
    3.布尔型:boolean
    java语言中的基本类型 - 图1

    Java中的数据类型.jpg
    这八类在内存中占有不同的长度;
    计算机存储设备的最小信息单元叫“位(bit)”,又称之为“比特位”
    连续的 8个位 成为 1个“字节(byte)”
    操作系统分屏内存最少1个字节,即八个位,而不是1个位;
    长度越大,代表着范围越大。

    类型 长度(位) 长度(字节) 表示范围 默认值
    byte 8位 1字节 -128~127(-2^7~2^7-1) 0
    short 16位 2字节 -32768~32767(-2^15~2^15-1) 0
    int 32位 4字节 -2147483648~2147483647(-2^31~2^31-1) 0
    long 64位 8字节 -2^63~2^63-1 0
    float 32位 4字节 -3.403E38~3.403E38 0.0
    double 64位 8字节 -1.798E303~1.798E308 0.0
    char 16位 2字节 表示一个字符,例如:(‘a’,’A’,’0’,’中‘) “空字符(\u000)
    boolean 8位 1字节 只有两个值:true 与 false false
    • 不同的级别数据类型之间可以进行转换;
    • 从表示范围小的类型转换为表示范围大的类型,可以直接转换,称为隐式转换;

      1. byte b=1;
      2. int i=-2;
      3. //表示范围小的类型可以直接转换为表示范围大的类型
      4. i=b;
      5. i=c;

      自动转换(隐式转换).mp4

    • 从表示范围大的类型转换为表示范围小的类型,需要强制转换,称为显式转换;

      byte b=1;
      int i=-2;
      //表示范围大的不可以直接转换为范围小的类型,需要强制转换,称为显式转换
      b=(byte);
      c=(char);
      

      强制转换.mp4

    • 虽然类型之间可以进行强制的隐形转换,但是也需要有一定的前提
    • 数值类型和boolean类型;强制也不可以;

      byte b=1;
      boolean b2=false;
      //"风马牛不相及"的boolean和数值类型,强制也不能转换
      b2=b;//(编译错误)
      b2=(boolean)b;//(编译错误)
      
    • 用”=”可以为任何一种基本数据类型的变量赋值;

    • 赋值时注意不要超过表示范围,否则将会出现编译错误;

      //用=可以直接使用数据赋值为数值型类型的进行赋值,但是不能超出数据类型的表示范围
      byte b1=127;
      byte b2=129;//超出byte的表示范围(byte的范围为-128~127),编译错误
      
    • char类型使用 ‘ ‘ 引用单个字符赋值;也可以使用非负整数进行赋值;

      //用 ' ' 引用单个字符为char赋值,也可以是非负整数
      char ca='a';
      char c2=12;
      char c3='ab';//编译错误(char代表的是单个字符,ab这是两个字符了)
      char c4=12.8;//编译错误(char除了单个字符外,只能使用非负整数进行赋值)
      char c5=-199;//编译错误
      
    • 小数默认是double类型;

    • 使用f/F后缀显式表示float类型;使用d/D后缀显式使用double类型; | 类型 | 长度(位) | 长度(字节) | 表示范围 | 默认值 | | —- | —- | —- | —- | —- | | float | 32位 | 4字节 | -3.403E38~3.403E38 | 0.0 | | double | 64位 | 8字节 | -1.798E303~1.798E308 | 0.0 |
    //小数默认为double类型;使用f或F后缀时,表示该小数是float类型;
    float f1=1;
    float f2=1.0;//编译错误(这里1.0默认是double类型,与等号左边条件不符)
    float f3=(float)1.0;//强制转换(显式转换)double表示的范围大,float表示的范围比double小,大转小,需要强制转换
    float f4=1.0f;
    //小数默认为double类型;使用d或D后缀可以显式表示该小数是double型;
    double d1=1.0;
    double d2=1.0d;
    
    • boolean型的只有true和false两个值 | 类型 | 长度(位) | 长度(字节) | 表示范围 | 默认值 | | —- | —- | —- | —- | —- | | boolean | 8位 | 1字节 | 只有两个值:true 与 false | false |
    //boolean型的只有true和false两个值
    boolean b3=false;
    boolean b4=true;
    boolean b5=1;//编译错误(boolean型的只有true和false两个值)