龙空技术网

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

兔子六号 46

前言:

而今姐妹们对“java支持中文变量名”大致比较注重,大家都想要了解一些“java支持中文变量名”的相关资讯。那么小编在网络上搜集了一些对于“java支持中文变量名””的相关内容,希望我们能喜欢,你们一起来学习一下吧!

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

答:在Java语言中,默认使用的Unicode编码方式,即每个字符占用两个字节,因此可以用来存储中文。虽然String是由char所组成的,但是它采用了一种更加灵活的方式来存储,即英文占用一个字符,中文占用两个字符,采用这种存储方式的一个重要作用就是可以减少所需的存储空间,提高存储效率。

在上例中:“Hello”是英文字符,因此所占字节数和字符串长度相同。“你好”字符串长度为2,由于每个字符都占用两个字节,因此总的字节数为4。

此方法可以用来判断一个字符串中是否包含中文字符,示例如下:

程序运行结果为:

无汉字

你好

在上例中,首先通过字节长度和字符串长度判断字符串是否包含中文字符,若包含,则用正则表达式匹配的方式找出字符串中的所有中文字符。

常见笔试题:

在Java语言中,下列关于字符集编码(CharacterSetEncoding)和国际化(il8n)的叙述,哪些是正确的?()

A.每个中文字符占用2Byte,每个英文字符占用1Byte

B.假设数据库中的字符是以GBK编码的,那么显示数据库数据的网页也必须是GBK编码的

C.Java的char类型,以UTF-16BigEndian的方式保存一个字符

D.实现国际化应用常用的手段是利用Resource Bundle类

答案:A、D。从上面的介绍可以得出A是正确的,C是错误的。对于B,数据库与Web页面可以有各自的编码,二者没有必然的关系。对于D,Resource Bundle是一个资源处理类,可以经常在国际化应用中使用。

标签: #java支持中文变量名 #java判断字符串含有中文