Java中的数据类型与类型转换

本文介绍了Java中的数据类型,包括基本数据类型及其内存占用,强调了char型没有负数且占两个字节。同时,讲解了类型转换的规则,如自动类型转换和强制类型转换,并通过实例说明了不同类型之间的赋值注意事项,如大类型转小类型需要强制转换,反之则自动转换。此外,还提到了数字字面量的范围限制和强制转换可能引发的精度丢失问题。最后,举例说明了不相干类型的变量不能直接转换。
摘要由CSDN通过智能技术生成

一、数据类型

说到数据类型我们要知道有哪些数据类型。

看下面的脑图:

与C语言不同的是:java中没有无符号整形和有符号整形,还有不管是32位还是64位所占内存大小是不变的。

 注意:char型它没有负数,两个字节所以是2^16-1

二、类型转换

类型转换又分为自动类型转换和强制类型转换,“大转小强制转,小转大自动转”。

整型默认情况下是int

 浮点型默认情况下是double

注意事项:

注意事项:
1. 不同数字类型的变量之间赋值, 表示范围更小的类型能隐式转换成范围较大的类型

public class Text {
    public static void main(String[] args) {
        int a=20;
        double b=1.2;
        b=a;//这里是大转小,不会报错
    }
}


2. 如果需要把范围大的类型赋值给范围小的, 需要强制类型转换, 但是可能精度丢失

a=b;//报错
a=(int)b;

就好比将装满大碗的水倒到小碗里一样,一定会有水溢出。
3. 将一个字面值常量进行赋值的时候, Java 会自动针对数字范围进行检查

eg:以int为例

 程序会报错,因为一个整形最大为2,147,483,647=2^31-1,字面值常量超过了int的范围。


4. 强制类型转换不一定能成功,不相干的类型不能互相转换
例如:

int a=2;
boolean d=true;
d=(boolean) a;//报错,不能强制转换

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值