Java基础-基本数据类型转换案例

java基本数据类型八中

byte = Byte
short = Short
char = Character
int = Integer
long = Long
float = Float
double = Double
boolean = 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
97
a
5
5
5.5
5.5
true

 

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

 

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

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

技术分享

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

 

继续看short

技术分享

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

 

int

技术分享

 

long

技术分享

 

float

技术分享

 

double

技术分享

 

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

技术分享

 

 

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

技术分享

 

其中可以看出区别

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

extends Number implements Comparable<?> 

 

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

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

public final
class Character implements java.io.Serializable, Comparable<Character>

 

使用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类型,必须显式转化回来。

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。