“朋友,真羡慕你。学习新事物真是太好了!今天有一个有趣的新话题等着你——文字。”
“显然我应该说我是这个星球上最快乐的机器人学生,Rishi。好吧,我准备好吸收新知识了!”
“让我们马上开始吧。文字是直接写在程序代码中的特定数据。我们不是在谈论任何数据。我们只是在谈论原始类型和字符串。
例如,假设您有以下代码:
代码 | 文字 |
---|---|
|
|
“这段代码中的文字是数字5、数字10和字符串‘ Sum = ’。
整数文字
“在 Java 中,一切,包括文字,都有一个类型。代码中的所有整数文字(整数)都是int。int 类型是标准的 Java 整数类型。”
“我知道这种,我用过。”
“你还记得除 int 之外的其他整数类型吗?一些占用内存空间较小的整数类型?”
“当然!字节和短。”
“就是这些。因此,如果在您的代码中您决定将整数文字分配给 byte 或 short 类型的变量,则不会有任何问题。主要的是文字值位于值的范围内变量的类型可以存储。Java 编译器足够聪明,可以理解一个字节变量可以被赋值为整数文字 100。
例子:
代码 | 描述 |
---|---|
|
这将编译得很好。 |
|
这将编译得很好。 |
|
会出现编译错误,因为最大字节值为 127。 |
“那长款呢?”
“我们也可以在代码中编写这种类型的文字。为此,请在整数末尾添加拉丁字母‘L’或‘l’。
例子:
代码 | 描述 |
---|---|
|
这将编译得很好。 |
|
编译错误:30 亿对于 int 文字来说太大了。 |
|
编译错误:字面量是long,变量是int。此外,30 亿比最大整数还多。 |
“你有没有注意到阅读 10 位或更多数字的大量数字是多么困难?
“是的,如果你没有启用你的 robovision,那么我们谈论的是 30 亿还是 30 将不会立即变得清晰。”
“为了使代码更具可读性(这很重要!),Java 允许在数字文字中插入下划线(它们不会影响数字的值)。
“上面的例子可以用下划线重写,使它更清楚一点:
代码 | 描述 |
---|---|
|
这将编译得很好。 |
|
编译错误:30 亿对于 int 文字来说太大了。 |
|
编译错误:字面量是long,变量是int。此外,30 亿比最大整数还多。 |
“这样读起来更方便,虽然用逗号代替下划线会更熟悉!”
“但我们不能在数字文字中使用逗号,因为它们已经用于其他目的。例如,用于在调用方法时将参数彼此分开。
实数文字
“您可能已经猜到,在您的代码中,您不仅可以指定整数,还可以指定浮点文字(实数)。”
“双打和花车?”
“是的。实际上,规则很简单:如果代码中的数字中有小数点,那么该数字就是浮点数。而且不仅仅是任何文字,而是双精度文字。要创建浮点文字,你需要在数字末尾加上字母“F”(或“f”)。
例子:
代码 | 描述 |
---|---|
|
这将编译得很好。 |
|
这将编译得很好。 |
|
这将编译得很好。 |
|
这将编译得很好。 |
|
会出现编译错误:变量是float,但字面量是double。 |
“顺便说一句,您可以通过简单地附加后缀“F”(对于float)或 D(对于double)将整数文字显式转换为 float 或 double 文字。示例:
代码 | 描述 |
---|---|
|
这将编译得很好。 |
|
这将编译得很好。 |
|
会出现编译错误:变量是 int,但字面量是double。 |
“浮点文字可以使用科学记数法:除了数字的带符号部分,您还可以指定十的幂。示例:
文字 | 数学符号 | 最终价值 |
---|---|---|
1.23对2 | 1.23*10 2 | 123.0 |
1.23对3 | 1.23*103 | 1230.0 |
1.23乙-6 | 1.23*10 -6 | 0.00000123 |
1对6 | 1.0 *10 6 | 1000000.0 |
1电子-10 | 1.0*10 -10 | 0.0000000001 |
字符串文字
“您还可以在代码中指定整行文本。为了告诉编译器将字符串视为数据(文字)而不是代码的一部分,整个字符串两边都用双引号括起来。
"如果一行代码中有多个双引号,则将它们分成一对。第一个双引号表示文字的开始。下一个表示文字的结尾。之后的下一个再次标记新文字的开始。下一个标记第二个文字的结尾。依此类推。
“每个这样的文字都是一个String。
例子
代码 | 解释 |
---|---|
|
一行有 5 个文字。它们中的每一个都由一个“+”字符组成 |
|
这个文字是一个空字符串。没有字符的字符串。 |
|
这里有两个字面量。结果将是字符串“2+3-5”,而不是数字 |
|
这里还有两个文字。这里没有返回语句。 |
“如果字符串文字太长,可以将其分成几行并用‘加号运算符’粘在一起:
代码 | 解释 |
---|---|
|
如果将此行输出到屏幕,那么所有文本将显示在一行中! |
字符文字
“如果我需要的文字是单个字符而不是字符串怎么办?我应该创建一个由单个字符组成的字符串吗?”
“不,在那种情况下你需要一个类型为.的文字char
。你能猜出这样一个文字的开始和结束是如何指定的吗?”
“单引号?”
"是的,单引号内必须有一个字符,而且只有一个字符。不能使用空单引号。
例子:
代码 | 解释 |
---|---|
|
类型为 char 的文字。它包含拉丁字母“A”。 |
|
类型为 char 的文字。它包含“@”符号 |
|
类型为 char 的文字。它包含一个日语字符。而这也是可能的。 |
|
类型为 char 的文字。它包含一个由其编号指定的 Unicode 字符。 |
“最后一个示例使用特殊符号分配 Unicode 字符:首先我们有前缀\u
,然后是 4 个十六进制字符。您将在下一课中了解更多相关信息。”
GO TO FULL VERSION