java数据类型转换

目录

数据类型

1.常量

2.变量

3.数据类型

4.类型转化

数据类型

1.常量

字面常量

比如

System.out.println('a');

a就是字面常量 还有数字常量 1,2,3.....

常量即在程序运行过程中不能进行改变的量

2.变量

即在程序在运行过程中可以发生改变的量

int a = 10;
a=20;

变量的命令遵守标识符的规则

3.数据类型

Java中的8大基本数据类型

主要有4类:整形,字符型,浮点型,布尔型

        

 

注意:

  1. int型不管在多少位的系统下,都是4个字节

  2. 整形和浮点型都是有符号的

  3. 默认整形为int,默认浮点型为double

4.类型转化

当运算的类型不一致时,就会发生类型的转换,主要有自动类型转化和强制类型转换

自动类型转换

代码不用特殊处理,运行时编译器自动进行处理,一般将小的数据类型转换为大的数据类型

        int a = 10;
        //自动类型转换
        long b = 20;
        b=a;//a的类型是int比b的类型long要小,所以在赋值是编译器自动将a的类型提升为long
​
        short c = 120;//ok
        a = c;//ok赋值时将c的类型自动提升为int

强制类型转换

需要经过一定的处理,不会自动完成,特点就是将表示范围大的强制转换为范围小的

        int a = 10;
        //强制类型转换
        //a=b;//报错,将long型赋值给int型,int是放不下的,所以报错
        a = (int)b;//将long型强制类型转换为int,但是不安全,会造成数据丢失
​
        //c = a;//报错,将大类型的数据给小类型的数据
        c = (short)a;//将int类型强制转换为short
    }
  1. 不同数字类型的变量进行赋值时,表示范围小的会自动转为表示范围大的

  2. 如果要将范围大的类型赋值给小的类型时,需要强制类型转换,但是会造成精度的丢失

  3. 将一个字面常量进行赋值时,java会进行范围检查,比如byte a = 120; √ byte b = 130; ×

类型提升

不同数据类型之间进行运算时类型小的会自动转换为大的进行运算

  1. long和int之间,会转成long进行运算

            long d = 10;
            int e = 20;
            long f = d+e;//int自动提升为long

  2. byte和byte

        byte t = 10;
        byte y = 10;
       // byte i = t + y;
        //错误,原因是t和y虽然都是byte,
        //但是运算时会将他们自动转为int类型,得到的结果也是int类型,将int类型给byte肯定会错
        byte  i = (byte)(t+y);//正确

运算时会将他们自动转为int类型,得到的结果也是int类型,将int类型给byte肯定会错,因为计算机在读写数据时是按照一次一个字节的方法读写数据,比如short和byte都是先转成int再进行计算

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值