9. Java 中,Literals字面量有哪些?

9. Java 中,Literals字面量有哪些?

在 Java 中,Literals(字面量) 是指固定值的源代码表示,它们可以直接赋值给基础数据类型的变量,而不需要使用 new 关键字。例如:

boolean result = true;
char capitalC = 'C';
byte b = 100;
short s = 10000;
int i = 100000;

📌 Literals 直接在代码中表示,不需要计算,例如 100'A'true


1️⃣ 什么是 Literals(字面量)?

Java 支持以下几种字面量

  1. 整数字面量(Integer Literals)1230b10100x1A
  2. 浮点数字面量(Floating-Point Literals)3.142.5e-3
  3. 字符字面量(Character Literals)'A''\u0041'
  4. 字符串字面量(String Literals)"Hello"
  5. 布尔字面量(Boolean Literals)truefalse
  6. null 字面量(Null Literal)null

2️⃣ 整数字面量(Integer Literals)

整数字面量可以用 十进制(默认)、二进制、八进制或十六进制 表示:

int decimal = 100;    // 十进制(默认)
int binary = 0b1010;  // 二进制(0b 前缀)
int octal = 0123;     // 八进制(0 前缀)
int hex = 0x1A;       // 十六进制(0x 前缀)

💡 输出

100
10
83
26

从 Java 7+ 开始,可以使用 _ 作为分隔符提高可读性

int million = 1_000_000;
long creditCard = 1234_5678_9012_3456L;

3️⃣ 浮点数字面量(Floating-Point Literals)

浮点数可以用 小数表示科学计数法表示

float pi = 3.1415f;  // float 需要 `f`
double e = 2.718;    // 默认 double 类型
double exp = 1.2e-3; // 科学计数法(1.2 × 10⁻³)

浮点数默认是 double,如果要 float,必须加 fF

float weight = 65.5f;  // ✅ 正确
float error = 65.5;    // ❌ 错误,默认是 double

4️⃣ 字符字面量(Character Literals)

字符字面量必须用单引号 ' 括起来,可以是: ✅ 普通字符

char letter = 'A';
char digit = '5';
char symbol = '#';

Unicode 码

char unicodeA = '\u0041';  // 'A'
char chinese = '\u4F60';   // '你'

转义字符

char newline = '\n';   // 换行符
char tab = '\t';       // 制表符
char backslash = '\\'; // 反斜杠
char quote = '\'';     // 单引号

5️⃣ 字符串字面量(String Literals)

字符串必须用 双引号 "" 括起来

String message = "Hello, Java!";

字符串支持 Unicode

String chinese = "你好,世界!";

字符串可以包含转义字符

String filePath = "C:\\Users\\Admin\\Documents";
String quote = "他说:\"你好!\"";

字符串可以是多行文本(Java 13+ Text Blocks

String multiLine = """
    Line 1
    Line 2
    Line 3
    """;

6️⃣ 布尔字面量(Boolean Literals)

布尔类型只有两个字面量:

boolean isJavaFun = true;
boolean isSkyGreen = false;

7️⃣ null 字面量(Null Literal)

null 只能用于 引用类型(对象),表示“没有值”:

String name = null;
Integer number = null;

基元类型不能赋值为 null

int num = null; // ❌ 错误!

8️⃣ 总结

类型 示例 说明
整数字面量 10, 0b1010, 0123, 0x1A 可用十进制、二进制、八进制、十六进制
浮点字面量 3.14, 2.5e-3, 1.2f 默认 doublefloatf 后缀
字符字面量 'A', '\u0041', '\n' 16 位 Unicode 字符
字符串字面量 "Hello", "你好" String 不是基元类型,但有特殊支持
布尔字面量 true, false 只有 truefalse
null 字面量 null 仅适用于引用类型

最佳实践

  • 整数字面量默认是 int,除非加 L 变成 long
  • 浮点数默认是 doublefloat 需要 f 后缀
  • 字符串支持 Unicode,可用 \uXXXX 方式表示

🚀 希望这个讲解能帮你更好地理解 Java Literals(字面量)! 🎯

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 221,635评论 6 515
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,543评论 3 399
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 168,083评论 0 360
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,640评论 1 296
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,640评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,262评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,833评论 3 421
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,736评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,280评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,369评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,503评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,185评论 5 350
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,870评论 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,340评论 0 24
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,460评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,909评论 3 376
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,512评论 2 359

推荐阅读更多精彩内容