基本数据类型


  • 数值类型超出范围不能赋值(c语言可以)


  • 自动类型装换

    short b = 12;
    

    java默认数值是int类型(也就是说等号左边的12是int类型),但是没有超过右边的short类型的取值范围时会自动进行类型转换。

    但是double 赋值给 float没超过取值范围也不能自动类型转换


  • 给long类型赋值的坑

    long = 12345678909;
    

上面的代码会报错,因为java默认数值类型为int(也就是左边的数字是int类型),而12345678909超出了int的范围(没有超出long的范围,事实上是等号左边报错。)

这个时候应该写成

long = 12345678909l;
long = 12345678909L;

  • 默认类型为int、double


  • 强制类型转换

    float y = (float)0.87;
    

  • 整数类型和字符类型可以相互转换


  • 整数可以给字符类型直接赋值(范围是0~65535)

    char ch = 100;
    

  • 字符类型强制转换之后可以给整数类型赋值

    int b = (int)'男';
    

  • 类型之间的转换

    • 自动类型转换(隐式类型转换)
    • 强制类型转换(显式类型转换)
posted @ 2020-01-02 20:03  火车没有火  阅读(104)  评论(0编辑  收藏  举报