本文是《Java 入门指南》的第八篇文章,介绍了 Java 的变量和常量。

变量

什么是变量?

描述:

变量是可以改变的量,类似于一元二次方程中的未知数(x,y,z),值随时都可能发生变化。

变量是最基础的存储单元,其要素包含数据类型、变量名、作用域。

按照作用域进行划分,变量分为 局部变量 和 全局变量。全局变量,又被称为成员变量,包含了 实例变量 和 类变量(静态变量)。

在 Java 语言中,变量必须声明之后,才能使用。

定义:

//变量类型 变量名 值 变量名 值
type varname [ = value][, varname [= value] ...] ;

实例:

//格式一(格式一、二、三是等价的,但是为了代码的可读性,建议使用格式一)。
int a=10;

int b=20;

int c=30;

//格式二
int a=10,b=20,c=30;

//格式三
int a,b,c;

a=10;

b=20;

c=30;

注意事项:

  1. 每个变量都有对应的类型,无论是基本类型,还是引用类型。
  2. 变量名必须是合法的标识符。
  3. 变量声明是一条完整的语句,以分号(;)结尾。

局部变量

描述:

局部变量声明在方法、构造方法或者语句块中。

局部变量被声明后,必须经过初始化,才能使用(局部变量没有默认值)。

局部变量只在声明它的方法、构造方法或者语句块中可见。

实例:

实例代码:

public class Test {

    public static void main(String[] args) {
        
        String word="Hello World!"; //定义了一个变量(局部变量),变量类型为 String,变量名为 word。
        System.out.println(word); //它的作用域限制在这个方法(main 方法)中,仅在这个方法(main 方法)中可见。

    }

}

运行结果:

Hello World!

实例变量

描述:

实例变量声明在类中,而不在 方法、构造方法或语句块中。

实例变量不需要初始化,就可以使用(实例变量有默认值,数值型变量的默认值是0,布尔型变量的默认值是 false,引用类型变量的默认值是 false)。

实例变量在类中的方法、构造方法或者语句块中可见。

实例:

实例代码:

public class Test {

    String word;//定义了一个变量(实例变量),变量类型为 String,变量名为 word。

    public static void main(String[] args) {

        Test test=new Test();
        System.out.println(test.word);//它的作用域限制在这个类中,在类中的方法、构造方法或者语句块中可见。

    }

}

运行结果:

null

类变量(静态变量)

描述:

类变量(静态变量)以 static 关键词修饰,声明在类中,而不在方法中。

类变量(静态变量)的默认值和实例变量相似。

类变量(静态变量)的可见性和实例变量相似。

实例:

示例代码:

public class Test {

    static String word;//定义了一个变量(类变量,即静态变量),变量类型为 String,变量名为 word。

    public static void main(String[] args) {

        System.out.println(word);//类变量(静态变量)的可见性和实例变量相似。

    }

}

运行结果:

null

常量

什么是常量?

描述:

常量是不可以改变的量,类似于圆周率(PI),值不能发生变化。

常量可以视为一种特殊的变量,一旦初始化,值就不能发生改变。

定义:

//关键字 常量类型 常量名 值
final type varname=value;

实例:

//和变量的格式相似,相比变量,多了一个 final 关键词进行修饰。
final double PI=3.1415926;

命名规范

在 Java 语言中,变量和常量的命名遵循以下的规范:

  1. 建议使用英文单词命名,不推荐使用汉语拼音或者中文汉字。
  2. 类名首字母大写,遵循驼峰命名原则,比如说 People
  3. 方法名首字母小写,遵循驼峰命名原则,比如说 drinkWater
  4. 局部变量首字母小写,遵循驼峰命名原则。
  5. 实例变量和类变量首字母小写,遵循驼峰命名原则。
  6. 常量的所有字母大写,用下划线(_)分割多个单词,比如说 MAX_VALUE