java char的用法

发布网友 发布时间:2022-04-22 04:25

我来回答

3个回答

热心网友 时间:2022-05-12 16:07

char在java中称为“字符型”
占2个字节
字符常量是用单引号括起的一个字符
且字符常量在内存中存储的是该字符在Unicode字符集中的排序位置,即整数
eg:char
x='a'
内存x中存储的是字符a在Unicode字符集中的排序位置97
因此允许将上面的语句写成char
x=97;

热心网友 时间:2022-05-12 17:25

这是java编译器的一个缺陷,
你不能使用 Unicode的换行,斜杠等字符,至于为什么,举个例子:
public static void main(String[] args) {
if ( false == true ) { //these characters are magic: \u000a\u007d\u007b
System.out.println("false is true!");
}
}
你可以运行上面的方法,会输出 false is true!
java在编译时会先将Unicode字符进行 呈现(或翻译),然后再进行编译 ,上面的方法会变成

public static void main(String[] args) {
if ( false == true ) { //these characters are magic:
}{
System.out.println("false is true!");
}
}

再来看你的代码
char a='\U000d';

会变成:
char a='
';

这样就会产生语法错误。
这就是原因了

下面的代码是可以通过编译的
char c=' ';\u000d;
可以这样理解,代码中的 Unicode并不能理解为单纯的 字符或字符串,他们本身就是你的代码
如:
System.out.println("Unicode print ");
这一行代码你可以写成
\u0053\u0079\u0073\u0074\u0065\u006d\u002e\u006f\u0075\u0074\u002e\u0070\u0072\u0069\u006e\u0074\u006c\u006e\u0028\u0022\u0055\u006e\u0069\u0063\u006f\u00\u0065\u0020\u0070\u0072\u0069\u006e\u0074\u0020\u0022\u0029\u003b\u0020
其实都是一样的,只是书写和查看都很不方便 。
建议不要在代码中书写Unicode形式的字符,很容易产生奇怪的错误,而且不方便查看和修改

热心网友 时间:2022-05-12 19:00

string是一个对象,
char是一个数据类型。
----------------------------------
至于好处嘛,char是针对单个字符,而string是针对一个字符串,好处不好比较。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com