java类型强转案例_Java基础-基本数据类型转换案例

java基本数据类型八中

byte =Byteshort =Shortchar =Characterint =Integerlong =Longfloat =Floatdouble =Doubleboolean = Boolean

本文通过几个简单的转换关系连接顺序

运行一个实例查看输出结果

byte b = 'a';short s = 'a';char c = 'a';int i = 5;long l = 5l;float f = 5.5f;double d = 5.5;boolean bo = true;

System.out.println(b);

System.out.println(s);

System.out.println(c);

System.out.println(i);

System.out.println(l);

System.out.println(f);

System.out.println(d);

System.out.println(bo);

输出

97

97a5

5

5.5

5.5

true

可以看出byte和short会将字符转换成ac码输出。关于char本质上char类型是int的一个子集

下面通过一个一个的比较转化来理解大小问题

首先尝试使用byte转化成其他类型

071c6e6a60b40acc747c7d784c86a8c7.png

可以看出byte不能转化成其他类型,也正可以看出byte为最小存储单元

继续看short

a6506e029eb3865c4ec2f7ce29a9f77c.png

从其中可以看出short可以接收byte进行直接转换

int

df7194e67b44ebfe3dc78cdf4c6c5c68.png

long

faa88b5d34b374b98349d41583d9c924.png

float

f6b56d2d8da2db36428aca1124a674ee.png

double

f7167ec71390a4e784bb6e55f58e1470.png

boolean(本身只有true/false两个值,所以其他类型都不能转换)

4ca0924dce8f76931a7c965fdb3a99eb.png

char(char的特殊性使得char不能使用其他的转换)

bbdfff4ab5c392311b86a4b92d99948c.png

其中可以看出区别

1.除了char外的其他类型都能从小到大的转换,查看期源码原来都继承、实现了如下方式

? extends Number implements Comparable

都继承了Number类。也就是都为数字型

2.char有别去其他数据类型的原因也处于这里

public final

class Character implements java.io.Serializable, Comparable

使用Unicode字符集表示字符,Unicode是完全国际化的字符集,可以表示全部人类语言中的字符。Unicode需要16位宽,所以Java中的char类型也使用16 bit表示。 赋值可能是这样的:

char ch1 = 88;char ch2 = 'A';

ASCII字符集占用了Unicode的前127个值。之所以把char归入整型,是因为Java为char提供算术运算支持,例如可以ch2++;之后ch2就变成Y。当char进行加减乘除运算的时候,也被转换成int类型,必须显式转化回来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值