重学Java-第四章 Java变量

4.1 什么是变量

​ 在程序设计中,变量是指一个包含值的存储地址以及对应的符号名称。从定义上来看,变量大概可以分为两部分:变量的名字和变量的值,可通过变量来访问变量值。简单来说,变量就是存储数据的载体。对于Java而言,Java是一种强类型的语言,因此变量都必须有一个类型,在Java代码中,变量是这样的:

// =左侧的age是变量名,右侧的22是变量值
int age = 22;

4.2 创建变量

​ 在Java语言中,需要做两件事才能创建一个变量:

  • 给变量起一个名字

  • 定义变量的数据类型

​ 创建变量的过程也叫声明变量,声明变量的语法如下:

DataType 变量名

​ 示例如下:

 int age;
int number;
char c;

4.3 给变量赋值

​ 声明变量告诉了编译器变量的数据类型,数据类型决定了变量中可以存放什么,不能存放什么,上述的变量age为int类型,只能存放整数。一旦声明了一个变量,就可以使用赋值语句为其赋值,如下:

int age;
age = 20;

​ 可以将声明和赋值合并成一条语句,如下:

int age = 20;

​ 为了精简语法,可以在一条语句中将多个变量的声明进行分组:

int a = 1, b = 2;

​ 在作用域范围内,变量的值可以随时访问或重新赋值

class PrintVariable {
    public static void main(String[] args) {
        int a = 20;
    	System.out.println("修改前变量a=" + a);
    	// 将变量a重新赋值为100
    	a = 100;
    	System.out.println("修改后变量a=" + a);
    }
}

4.4 变量命名规则

​ 对于变量的命名,每种编程语言都有自己的规则和约定,Java 语言也不例外。命名变量的规则和约定如下:

  • 变量的名称可以是任何合法的标识符,以字母,美元符号 $或下划线 _开头。但是,按照约定俗成,变量应始终以字母开头,不推荐使用美元符号和下划线开头;
  • 开头后续的字符可以是字母、数字、美元符号或下划线。为变量选择名称时,推荐使用完整的英文单词,不推荐使用单词缩写,更不要使用中文拼音。这样做有利于代码的阅读和理解。另外请牢记,选择的名称不能是关键字保留字
  • 变量命名区分大小写
  • 变量命名应采用小驼峰命名法。所谓小驼峰命名法,就是如果你选择的名称只包含一个单词,那么用全部小写字母拼写该单词;如果名称包含多个单词,请将第二个单词起的每个单词的第一个字母都大写;
  • 如果变量存储了一个常量值,要将每个字母大写并用下划线字符分隔每个单词。比如static final int MAX_NUM = 100。按照约定俗成,除了常量命名的情况,下划线字符永远不会在其他地方使用。

​ 实例如下:

int $a;
int _b;
int age;	//3个变量的声明都是合法的,但是根据约定俗成,不推荐 $a这种以美元符号开头、_b这种以下划线开头的命名方式。

// 声明姓和名变量
String firstName;
String lastname;
//上面声明了两个变量 firstName和 lastname,由于它们都是由两个单词组成,按照小驼峰命名法的约定俗成:第2行 lastname 变量名由两个英文单词组成,因此推荐改为 lastName。

4.5 变量的分类

Java 语言定义了以下4 种变量

  • 实例变量instanceVariable

​ 实例变量在类范围内声明。声明时不使用 static关键字修饰,因此也称为非静态字段

实例变量用于存储对象的状态,它的值对于类的每个实例都是唯一的,每个对象都拥有自己的变量副本。只要相应的对象存在于内存中,它就占用着存储空间。

  • 类变量classVariable

​ 类变量在类范围内使用 static关键字修饰,因此类变量又被称为静态字段、静态变量

static修饰符告诉编译器,无论类被实例化多少次,类变量始终只有一个变量副本。只要类被加载到内存中,它就会存在。

​ 另外,类变量可以被声明为常量,通过使用 final关键字以表示变量永远不会改变。例如:public static final NAME = "zhangsan",这里的 NAME就是不会改变的常量。再次提醒,在常量的命名规范中,要将字母全部大写。

  • 局部变量localVariable

​ 局部变量是在方法范围内被声明和使用的。它们没有任何关键字修饰,可以根据变量声明的位置来认定局部变量(即方法的左花括号和右花括号之间),因此,局部变量只可以对声明它们的方法可见。方法返回后,它们将被销毁。

  • 参数parameterargs

​ 参数是用于传递给方法签名的变量(例如入口方法 main中的 args),它们可以在方法中的任何位置被调用。在方法执行的期间位于内存中,方法返回后被销毁。

4.6 常量

​ 常量是恒常不变的量。可以将常量理解成一种特殊的变量。与变量不同的是,一旦它被赋值后,在程序的运行过程中不允许被改变。常量使用 final关键字修饰:

final DataType 常量名 = 常量值

Tips:常量的命名规范与普通变量有所不同,要将每个字母大写并用下划线字符分隔每个单词。

posted @ 2023-02-15 11:48  XQ-Yang  阅读(33)  评论(0)    收藏  举报