基本类型与运算

不同数据类型的转换有哪些规则?

隐式数据类型转换:从低精度到高精度,即优先级满足byte<short<char<int<long<float<double,低精度数据在运算时会自动转换成高精度数据。
强制数据类型转换:从高精度到低精度转换。
当类型自动转换时,需要注意以下几点:

  1. char类型的数据转换为高级类型(如int,long等),会转换为其对应的ASCII码。
  2. byte、char、short类型的数据在参与运算时会自动转换为int型,但当使用+=运算时,就不会产生类型的转换。
    如:short s1 = 1; s1 = s1 + 1;,由于在运行时会首先将s1转换成int型,因此s1+1的结果为int型,这样编译器会报错,所以正确的写法应该是short s1 = 1; s1 =(short) (s1 + 1);。但是“+=”情况例外,语句short s1 = 1; s1 += 1;不会报错。
  3. 基本数据类型与boolean类型不能相互转换。

char型变量中是否可以存储一个汉字?

在Java语言中,默认使用的Unicode编码方式,即每个字符占用两个字节,因此可以用来存储中文。
String从采用了一种更加灵活的方式,英文字符占用一个字符,中文占两个字符。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容