java的8种基本数据类型

8种基本数据类型

一、整型
提示:1个字节=8个二进制数空间,8个二进制数的首位(符号位)是判断是否为正数,0为正数,1为负数,其他七位数是存储。

  1. byte类型占1个字节,它的存储范围为 -2^8-1到正的
    (2^8-1)-1,也就是-128到127的范围,Java编程中默认值为0。
  2. short类型占2个字节,和上面一样的计算方法,取值范围为
    -2^15
    到正的( 2^15)-1。计算公式为 -2 n-1次方 到2 n-1次方-1,Java编程中默认值为0。
  3. int类型占4个字节,取值范围为-2^31
    到2^31-1 ,Java编程中默认值为0。
  4. long类型占8个字节,取值范围为-2^63
    到2^63-1 ,Java编程中默认值为0。
    二、浮点型
    1.float类型占4个字节,Java编程中最多显示7位小数,Java编程中默认值为0.0。
    2.double类型占8个字节,Java编程中最多显示15位小数,Java编程中默认值为0.0。
    注意:后面的小数不显示不是四舍五入。
    三、字符型
    char类型占2个字节。Java编程中默认值为null(空的对象,不是没有)。
    四、布尔类型
    boolean类型占 1字节或4字节(java规范2.0说明)。 不是1字节 或 4字节(1bit),Java编程中默认值为false。
    注意:
    如果使用boolean声明一个基本类型的变量时,那么该变量占4个字节。boolean f =false;
    如果使用boolean声明一个数组类型的时候,那么该每个数组的元素占1个字节。
    Boolean [] arr = {false,true,true};
    五、基本类型转换
    1.自动类型转换
    (1)类型取值范围小的数据自动转化为类型取值范围大的
    整型:byte可以转化为short、int、long、float、double类型的数据,
    short可以转化为int、long、float、double类型的数据,
    int可以转化为long、float、double、char类型的数据,类型的数据
    例如:byte num1 =12;
    int sum =num1+12;{这时的 sum=num1(byte类型)+12(int类型),byte类型+int类型=int类型}
    例2:int转char
    char sum=(char)num;(char)表示强转为char类型。
    在这里插入图片描述
    运行结果:在这里插入图片描述

浮点型:float可以转化为double类型
char类型可以转化为int类型;
在这里插入图片描述
运行结果:
在这里插入图片描述
类型转换路线:byte->short->int->long->float->double
char->int;int->char;
boolean类型不能转化。
2.强制转化
取值范围大的类型数据需要强转为取值范围小的类型,取值范围大的类型的数据如果在取值范围小的类型的范围内,可以转化,超出范围后,会数据溢出或者精度下降。
(大类型数据转小类型数据必须强转)
例如:
byte取值范围为-128到127
在这里插入图片描述
运行结果为:
在这里插入图片描述
六、拓展
例1:
在这里插入图片描述
在这里插入图片描述
以上两种情况,语法没有问题,属于编译器自身的问题。原因:
Java编程中整数类型默认是int类型,浮点类型默认是double类。
当byte类型数据+byte类型数据时,由于byte类型取值范围小,所以有可能超过byte类型,造成数据溢出,所以编译器设置为报错。short类型也是一样。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值