【java基础】Java中的字面量

前言

在Java编程中,字面量(Literals)是指直接写在代码中的固定值。它们是构成程序的基本元素之一,代表了某种类型的数据,并且不需要进一步计算或转换即可直接使用。


一、整型字面量(Integer Literals)

整型字面量可以表示为四种不同的进制:十进制、八进制、十六进制和二进制。

  • 十进制:最常用的格式,无前缀。

    int decimal = 100;
    
  • 八进制:以0开头。

    int octal = 0144; // 等于十进制的100
    
  • 十六进制:以0x0X开头。

    int hex = 0x64; // 等于十进制的100
    
  • 二进制:从Java 7开始支持,以0b0B开头。

    int binary = 0b1100100; // 等于十进制的100
    

此外,您可以通过添加后缀Ll来指定长整型(long):

long longNum = 100L;

注意:尽管可以使用小写的l作为后缀,但推荐使用大写的L以避免与数字1混淆。


二、浮点型字面量(Floating-Point Literals)

浮点型字面量默认为double类型,可以通过添加后缀fF来指定为float类型。

  • 双精度浮点数(Double)

    double d = 123.456;
    
  • 单精度浮点数(Float)

    float f = 123.456f;
    

Java还支持科学计数法:

double e = 1.23e+2; // 等于123.0

三、字符和字符串字面量(Character and String Literals)
  • 字符字面量:用单引号括起来的一个字符。

    char c = 'A';
    

    Java也支持Unicode转义序列作为字符字面量的一部分:

    char unicodeChar = '\u0041'; // 等于'A'
    
  • 字符串字面量:用双引号括起来的一系列字符。

    String s = "Hello, World!";
    

    字符串字面量支持转义字符,如\n(换行)、\t(制表符)等。


四、布尔字面量(Boolean Literals)

布尔字面量只有两个值:truefalse

boolean flag = true;
boolean isActive = false;

五、空字面量(Null Literal)

null 是一个特殊的字面量,用于表示对象引用不指向任何实际的对象。

String str = null;

六、高级用法与注意事项
  • 自动装箱/拆箱:Java支持基本数据类型与对应的包装类之间的自动转换(例如,intInteger),这使得处理字面量更加灵活。

    Integer integerObject = 100; // 自动装箱
    int primitiveInt = integerObject; // 自动拆箱
    
  • 数字分隔符:从Java 7开始,您可以使用下划线 _ 作为数字分隔符,以提高可读性。

    int oneMillion = 1_000_000;
    
  • 类型推断:Java 10引入了局部变量类型推断,允许您使用var关键字简化声明过程。

    var number = 100; // 推断为int类型
    
  • 不可变性和安全性:某些字面量(如字符串字面量)在内存中是不可变的,这意味着一旦创建就不能更改其值。这种特性有助于提高安全性和性能。


结语

Java中的字面量提供了简洁而直观的方式来表示不同类型的数据。无论是简单的整数、浮点数,还是复杂的字符串和布尔值,理解如何正确使用这些字面量对于编写高效且易读的代码至关重要。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值