一、认识Java中标识符、常量、变量

1、标识符

1.  标识符可以由字母、数字、下划线(_)、美元符($)组成,但不能包含 @、%、空格等其它特殊字符,不能以数字开头。譬如:123name 就是不合法滴

2.  标识符不能是 Java 关键字和保留字( Java 预留的关键字,以后的升级版本中有可能作为关键字),但可以包含关键字和保留字。如:不可以使用 void 作为标识符,但是 Myvoid 可以。标识符没有长度限制。

3.  标识符是严格区分大小写的。 一定要分清楚 imooc 和 IMooc 是两个不同的标识符。

4.  标识符的命名最好能反映出其作用,做到见名知意。

Java 预留的关键字如下

访问控制

private 、protected、public

程序控制

if、else、for、while、break、continue、return、do、switch、case、default、instanceof

类、方法、变量修饰符

abstract、class、extends、final、implements、interface、native、new、static、strictfp、synchronize、transient、volatile

错误处理

try、catch、throw、throws

包相关

import、package

基本类型

byte、short、int、long、float、double、char、boolean、null、true、false

变量引用

super、this、void

保留字

goto、const

2、常量

指在程序执行期间其值不能发生改变的数据。

一种是值的本身如整数123,布尔类型的true false;

一种是final关键字修饰的变量 变量名大写(约定俗成的编程习惯),赋值后也是常量。

3、变量

是指在程序运行期间可以改变的量。在程序中使用变量 必须先声明:变量类型和变量标识符

4、常量池相关知识点

4.1字符串常量池

字符串常量池(String Constant Pool)是Java中一个重要的内存优化机制,用于存储字符串字面量和显式intern的字符串对象。

核心要点:

  • 目的:减少重复字符串对象的创建,节省内存并提高性能;
  • 存储内容:字符串字面量(如"hello")和通过intern()方法加入的字符串
  • 不可变性:字符串内容不可变,使得共享成为可能。

关键机制:

  • 字面量创建:JVM会检查常量池,存在则返回引用,否则创建新的对象加入池中。
  • new创建:无论常量池是否存在,都会在堆内存(元空间)中创建新对象。
String s1 = "hello";      // 字面量方式,直接使用常量池
String s2 = new String("hello"); // new方式,强制创建新对象
String s3 = s2.intern();  // 手动将对象加入常量池
s1 == s2  // false
s2 == s3  //true
String s4 = "hello2";      // 字面量方式,直接使用常量池
String s5 = "hello"+"2";      //编译器会将"hello"+"2"直接优化为"hello2"(常量折叠)
String s6 = s4+"2"; //存在引用,运行时拼接,会创建新的对象
s4 == s5  // true 
s4 == s6  //false

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值