java 常见的几种类型范围说明,char 型变量中能不能存贮一个中文汉字

假如想象 提交于 2019-11-27 09:40:31
package com.yuan.test;

public class Autogrew {

	public static void main(String[] args) {
	 // 保存 short 可取的最大值的常量,最大值为 215-1。(32 767) 
	 // 保存 short 可取的最小值的常量,最小值为 -215。(-32 768)
     short s1=11278;
     s1+=1;
     //s1=s1+1;//报错 自动会转换成int 类型
     System.out.println(s1);
     // 值为 2 31次方-1 的常量,它表示 int 类型能够表示的最大值。 
     // 值为 -2 31次方 的常量,它表示 int 类型能够表示的最小值。
     //一个常量,保存 byte 类型可取的最大值,即 2 7次方-1。(127) 
     //一个常量,保存 byte 类型可取的最小值,即 -2 7次方。(-128) 
	}

}

对于 short s1 = 1; s1 = s1 + 1;由于 s1+1 运算时会自动提升表达式的类型,所以结果是 int
型,再赋值给 short 类型 s1 时, 编译器将报告需要强制转换类型的错误
对于 short s1 = 1; s1 += 1;由于 +=java 语言规定的运算符java 编译器会对它进行特殊
处理,因此可以正确编译

2char 型变量中能不能存贮一个中文汉字?为什么?
char 型变量是用来存储 Unicode 编码的字符的, unicode 编码字符集中包含了汉字,所以,
char 型变量中当然可以存储汉字啦。不过,如果某个特殊的汉字没有被包含在 unicode
码字符集中,那么,这个 char 型变量中就不能存储这个特殊汉字。 补充说明: unicode
码占用两个字节,所以, char 类型的变量也是占用两个字节。
备注:后面一部分回答虽然不是在正面回答题目,但是,为了展现自己的学识和表现自己对
问题理解的透彻深入,可以回答一些相关的知识,做到知无不言,言无不尽。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!