在程序执行过程中,其值不能改变的量称为常量,反之能改变的量则称为变量。变量与常量的命名都必须使用合法的标识符,且尽量遵循命名规范。定义变量或常量的过程,就是告诉编译器(compiler) 其数据类型,这样编译器才知道需要配置多少空间给它,以及它能存放什么样的数据。
1. 标识符
标识符可以简单理解为一个名字,用来标识类名、变量名、方法名、数组名、文件名的有效字符串。需要注意的是,Java 中标识符是严格区分大小写的,像 SQL 语言则是不区分大小写。
Java 语言规定标识符由任意顺序的字母、下划线(_)、美元符号($)和数字组成,其命名规则遵循如下规范:
- 不要(避免)使用 JAVA 关键字,例如
class、public、int、static等 - 不可以是数字开头
- 不要(避免)使用汉字
- 变量名不可以包含空格
-
$和_可以使用,但是不建议作为变量名开头 - 以驼峰式进行变量的命名,即首字母小写,后续单词首字母大写
- 常量名的定义采用全部字母大写
2. 关键字
关键字是 Java 语言中已经被赋予特定意义的一些单词,不可以把这些字作为标识符来使用, Java 中的关键字(53 个)如下表所示:
| 数据类型 | 修饰符 | 流程控制 | 异常 | 类/接口 | 线程 | 其他 |
|---|---|---|---|---|---|---|
| int | public | if | throw | void | volatile | package |
| boolean | private | else | throws | return | synchronized | import |
| float | protected | switch | finally | class | instanceof | |
| long | abstrct | case | try | extends | true | |
| short | static | while | catch | new | false | |
| char | final | do | assert | this | null | |
| byte | strictfp | for | super | goto* | ||
| double | native | break | implements | const* | ||
| enum | continue | interface | ||||
| default | transient |
3. 声明变量
变量名的命名与标识符命名的规则一样,额外需要注意遵循以下 2 条规则:
- 必须是一个有效的标识符
- 不可以使用
public class Variables{public static void main(String[] args){int age;int i = 10;byte b = 12;short s = 12;long l = 17L; // 17lfloat f = 12.2F; // 12.2fdouble d = 13.3D; // 13.3dchar c = 'a';boolean flag = true;System.out.println(i);System.out.println(b);System.out.println(s);System.out.println(l);System.out.println(f);System.out.println(d);System.out.println(c);System.out.println(flag);}}
上述示例可以看到,在定义
long、float以及double时,具体加上数据类型的标识L、F、D(这里不区分大小写)。
除此之外,还有一个字符串String类型,它并不属于 Java 的基础数据类型,其实String是一个构造器。
String str = "abc";
