提问人:Matt 提问时间:4/5/2015 最后编辑:Peter MortensenMatt 更新时间:11/13/2023 访问量:2034
我可以将 Unicode 用作 Java 变量吗?
Can I use Unicode as Java variables?
问:
是否可以在 Java 中使用 Unicode 作为变量名?例如:
public static double δ = 1.001;
每当我在 Java 中(来自 IntelliJ IDEA)做这样的事情时,我都会收到一个错误:
“java:预期”
或
java:表达式非法开始
有没有办法使δ可以用作 Java 中的变量?
如果没有,我可以使用其他选择吗?
答:
3赞
Alupotha
4/5/2015
#1
根据文档,可以:
变量名称区分大小写。变量的名称可以是任何法定标识符 — 无限长度的 Unicode 字母和数字序列,以字母、美元符号“$”或下划线字符“”开头。但是,约定是变量名称始终以字母开头,而不是“$”或“”。此外,按照惯例,美元符号字符根本不使用。
如果它不起作用,请使用选项编译文件(通常没有 ,它应该可以工作。如果没有这个,这不是一个必要的步骤,首先检查)。-encoding
-encoding
·编码:编码
设置源文件编码名称,如 EUC-JP 和 UTF-8...如果未指定,则使用平台默认转换器。-encoding
javac -encoding UTF-8 HelloWorld.java
如何配置 IDE:
我正在使用 IntelliJ IDEA:
添加其他命令行参数:-encoding UTF-8
成功了!
评论
1赞
Matt
4/5/2015
我该怎么做?即使在变量名称前面加上 $ 时,我也会遇到错误。
0赞
Alupotha
4/5/2015
只需使用 Unicode 字符声明变量名称并打印,无需额外的库或任何东西
0赞
Matt
4/5/2015
这就是我做一个与你几乎相同的例子时得到的。gyazo.com/2b85303eb26dc94853f7c4ea53a5cc27
0赞
Matt
4/5/2015
如果我用常规文本替换变量名称,它就可以很好地工作。这是一个非常奇怪的错误。
1赞
Holger
4/9/2015
只有当文件实际使用 编码时,指定编译器才有意义。使用 IDE 时,IDE 将知道文件是否被编码,否则编辑器会弄乱内容。换句话说,如果默认编码已经是 ,则不需要指定,如果不是,则指定它会中断编译过程。如果要使用 ,则必须首先查找用于对文件进行编码的 IDE 选项。IDE 应该知道如何将该信息传递给编译器,然后...-encoding UTF-8
UTF-8
UTF-8
UTF-8
-encoding UTF-8
UTF-8
2赞
Evgeniy Dorofeev
4/5/2015
#2
这是一个法定名称。来自 JLS 3.8 标识符 - 字母和数字(用于标识符)可以从整个 Unicode 字符集中提取,该字符集支持当今世界上使用的大多数书写脚本,包括中文、日语和韩语的大型字符集。这允许程序员在其程序中使用用其母语编写的标识符。
-1赞
Suryaprakash Pisay
9/15/2017
#3
您可以使用Unicode本身(而不仅仅是字符)作为变量,如下图所示。
- 如您所见,带有\u0020(空格字符)的Sysout没有任何错误。
- 在下面,我们将使用 Unicode 创建一个字符串变量 (P),如果您通过删除最后一个 Sysout 来运行程序,它甚至可以在控制台中打印“Hi”。
- 尝试打印未定义的 Unicode 字符 (Q -- \u0051) 时,出现编译错误。
它看起来很奇怪,但 Java 支持它,正如 Evgeniy Dorofeev 所提到的。
评论
0赞
Peter Mortensen
11/13/2023
请查看 为什么在提问时不上传代码/错误的图片? (例如,“图像只能用于说明无法以任何其他方式阐明的问题,例如提供用户界面的屏幕截图。 并做正确的事情(它也包括答案)。提前致谢。
0赞
Arfur Narf
11/13/2023
“正如你所看到的,带有\u0020(空格字符)的Sysout没有任何错误。这与写作相同.不打印空格。System.out.println( )
评论
sigma
δ