跳到主要内容

Java 变量和字面量

提示
  1. 变量定义:Java 中的变量是内存中用于存储数据的位置,每个变量有一个唯一的标识符,其类型定义了可以存储的数据类型。
  2. 变量命名规则:变量名在 Java 中必须以字母、下划线或美元符号开头,且区分大小写,不能包含空格或以数字开头。
  3. 字面量类型:Java 支持多种字面量类型,包括布尔字面量(truefalse),整数字面量(二进制、十进制、八进制、十六进制),浮点字面量,字符字面量和字符串字面量。

Java 变量

变量是内存中的一个位置(存储区域),用于存储数据。

为了指示存储区域,每个变量都应该有一个唯一的名字(标识符)。

在 Java 中创建变量

这是在 Java 中创建变量的方法,

int speedLimit = 80;

这里,speedLimitint 数据类型的变量,我们将值 80 分配给它。

int 数据类型表明该变量只能存储整数。要了解更多,请访问 Java 数据类型

在这个示例中,我们在声明时就为变量赋值了。但这并不是强制的。

您可以分别声明变量和赋值变量。例如,

int speedLimit;
speedLimit = 80;

注意:Java 是一种静态类型语言。这意味着所有变量都必须在使用之前声明。

改变变量的值

变量的值可以在程序中更改,因此得名 variable(变量)。例如,

int speedLimit = 80;
... .. ...
speedLimit = 90;

这里,最初 speedLimit 的值是 80。后来,我们将它改变为 90

然而,我们不能在同一作用域内更改 Java 中变量的数据类型。

什么是变量作用域?

现在不用担心这个。只需记住我们不能这样做:

int speedLimit = 80;
... .. ...
float speedLimit;

要了解更多,请访问:我可以在 Java 中更改变量的声明类型吗?

Java 中命名变量的规则

Java 编程语言对命名变量有自己的一套规则和约定。以下是您需要知道的内容:

  • Java 是区分大小写的。因此,ageAGE 是两个不同的变量。例如,
int age = 24;
int AGE = 25;

System.out.println(age); // 输出 24
System.out.println(AGE); // 输出 25
  • 变量名必须以 字母下划线 _美元符号 $ 开头。例如,
int age;  // 有效名称,且是良好实践
int _age; // 有效但是不良实践
int $age; // 有效但是不良实践
  • 变量名不能以数字开头。例如,
int 1age;  // 无效变量
  • 变量名不能使用空格。例如,
int my age;  // 无效变量

这里,如果我们需要使用多个单词的变量名,使用小写字母表示第一个单词,后续每个单词的首字母大写。例如,myAge

  • 创建变量时,选择一个有意义的名称。例如,scorenumberlevel 比诸如 snl 这样的变量名更有意义。
  • 如果选择单词变量名,请使用全部小写字母。例如,最好使用 speed 而不是 SPEEDsPEED

在 Java 编程语言中有 4 种类型的变量:

  • 实例变量(非静态字段)
  • 类变量(静态字段)
  • 局部变量
  • 参数 如果您现在对此感兴趣,可以访问 Java 变量类型 了解更多。

Java 字面量

字面量是用于表示固定值的数据。它们可以直接在代码中使用。例如,

int a = 1;
float b = 2.5;
char c = 'F';

这里,12.5'F' 是字面量。

以下是 Java 中不同类型的字面量。

1. 布尔字面量

在 Java 中,布尔字面量用于初始化布尔数据类型。它们可以存储两个值:true 和 false。例如,

boolean flag1 = false;
boolean flag2 = true;

这里,falsetrue 是两个布尔字面量。

2. 整数字面量

整数字面量是一个数值(与数字相关),没有任何分数或指数部分。Java 中有 4 种类型的整数字面量:

  1. 二进制(基数 2)
  2. 十进制(基数 10)
  3. 八进制(基数 8)
  4. 十六进制(基数 16)

例如:

// 二进制
int binaryNumber = 0b10010;
// 八进制
int octalNumber = 027;

// 十进制
int decNumber = 34;

// 十六进制
int hexNumber = 0x2F; // 0x 表示十六进制
// 二进制
int binNumber = 0b10010; // 0b 表示二进制

在 Java 中,二进制以 0b 开头,八进制以 0 开头,十六进制以 0x 开头。

注意:整数字面量用于初始化整数类型的变量,如 byteshortintlong

3. 浮点字面量

浮点字面量是具有分数形式或指数形式的数值字面量。例如,

class Main {
public static void main(String[] args) {

double myDouble = 3.4;
float myFloat = 3.4F;

// 3.445*10^2
double myDoubleScientific = 3.445e2;

System.out.println(myDouble); // 打印 3.4
System.out.println(myFloat); // 打印 3.4
System.out.println(myDoubleScientific); // 打印 344.5
}
}

注意:浮点字面量用于初始化 floatdouble 类型的变量。

4. 字符字面量

字符字面量是单引号内的 Unicode 字符。例如,

char letter = 'a';

这里,a 是字符字面量。

我们也可以使用转义序列作为字符字面量。例如,\b(退格键)、\t(制表符)、\n(换行符)等。

5. 字符串字面量

字符串字面量是双引号内的一系列字符。例如,

String str1 = "Java 编程";
String str2 = "mashangxue123";

这里,Java 编程mashangxue123 是两个字符串字面量。