首页 > 代码库 > 关于Java中byte,short,char,int 之间相互赋值的问题

关于Java中byte,short,char,int 之间相互赋值的问题

首先明确这几种数据类的取值范围:

byte:  -128~127

short: -2^15~2^15-1

char: 0~65536

int: -2^31~2^31-1


请看以下代码:

byte b = 100;

short s = b; //正确,因为byte的取值范围在short取值范围之内。

char c = b; //错误,因为byte的取值范围不完全在char的取值范围内。

c = s;  //错误,因为short的取值范围不完全在char的取值范围内。

int x = b; //正确,因为byte的取值范围在int取值范围之内。

x = s ;  //正确,因为short的取值范围在int取值范围之内。

x = c;  //正确,因为char的取值范围在int取值范围之内。

本文出自 “Java技术同盟” 博客,请务必保留此出处http://simoniu.blog.51cto.com/2566344/1590164

关于Java中byte,short,char,int 之间相互赋值的问题