Skip to content

变量与常量

在程序执行的过程中,其值不能被改变的量称为常量,其值可以被改变的量称为变量。

标识符和关键字

标识符

在 Java 中,所有的变量、方法和类都需要有一个名字,这个名字就是标识符。标识符可以由字母、数字、下划线和美元符号组成,但是不能以数字开头并且不能是 Java 的保留关键字。

java
// 合法的标识符
name
user_name
$money

// 非法的标识符
1name
String
User name

在 Java 中,标识符是大小写敏感的,即 nameName 是两个不同的标识符。Java 语言使用 Unicode 字符集,最多可以使用 65535 个字符。因此 Java 语言中的字母不仅包括常用的拉丁文字 a、b、c 等,还包括汉字、日文以及其他语言中的文字。

关键字

Java 语言中有一些具有特殊含义的单词,这些单词称为关键字。关键字是 Java 语言的保留字,不能用作标识符。Java 语言中的关键字如下:

25020705.png

表 Java 关键字

声明变量

变量的使用是程序设计中的一个十分重要的环节,定义变量就是要告诉编译器这个变量的数据类型,这样编译器才能为这个变量分配合适的内存空间,以及能存放什么类型的数据。在程序运行过程中,空间内的值发生变化的量称为变量。为了便于操作,给变量起一个名字,这个名字就是变量名。变量名必须是合法的标识符。 内存空间内的值就是变量的值。在声明变量时可以给变量赋初值,也可以不赋值。

对于变量的命名,应该遵循以下规则:

  • 变量名必须是合法的标识符,即由字母、数字、下划线和美元符号组成,但是不能以数字开头并且不能是 Java 的保留关键字。
  • 变量名不能重复。
  • 变量名应该具有描述性,见名知义,能够清晰地表达变量的用途。
java
int a = 10;
String b;

声明常量

Java 中的常量通常指的是用 final 关键字修饰的变量。基本数据类型的 final 变量一旦初始化后,其值不能改变。如果是对象引用,final 变量指向的对象不能变,但对象内部的状态可能可以改变。例如,final List 虽然不能指向其他 List,但可以添加元素。

java
final int MAX_VALUE = 100;

当 final 修饰的变量为成员变量时,则需要在声明时初始化,或者在构造方法中初始化,否则会报错。

变量的有效范围

变量的有效范围是指变量的作用域,即变量在程序中可以被访问的范围。在 Java 中,变量的有效范围有分为:成员变量和局部变量。

成员变量

成员变量是定义在类中,方法外的变量,也称为全局变量。成员变量的作用域是整个类,可以被类中的所有方法访问。

java
public class Main {
    int a = 10;
    static int b = 20;
    
    public void test() {
        System.out.println(a);
    }
}

其中,a 是成员变量,b 是静态变量(也称为类变量)。静态变量的作用范围可以跨类,设置可达到整个应用程序之内。除了能在定义它的类中使用,还能直接以 类名.静态变量名 的方式使用。

局部变量

局部变量是定义在方法中的变量,也称为局部变量。局部变量的作用域是从声明处开始,到所属的块结束。局部变量只能在声明它的方法中使用。局部变量的生命周期取决于所属方法的生命周期,当方法执行完毕后,局部变量就会被销毁。

java
public class Main {
    public void test() {
        int a = 10;
        System.out.println(a);
    }
}

局部变量名称可以与成员变量相同,此时成员变量会被局部变量覆盖,在此方法中暂时失效。

25020706.png

图 变量的有效范围
编程洪同学服务平台是一个广泛收集编程相关内容和资源,旨在满足编程爱好者和专业开发人员的需求的网站。无论您是初学者还是经验丰富的开发者,都可以在这里找到有用的信息和资料,我们将助您提升编程技能和知识。
专业开发
高端定制
售后无忧
站内资源均为本站制作或收集于互联网等平台,如有侵权,请第一时间联系本站,敬请谅解!本站资源仅限于学习与参考,严禁用于各种非法活动,否则后果自行负责,本站概不承担!