Java 变量与字面量

在本教程中,我们通过示例介绍了 Java 变量,并介绍了 Java 中的标识符的命名规则。

在本教程中,我们通过示例介绍了 Java 变量,并介绍了 Java 中的标识符的命名规则。

Java 变量

变量用来在内存(存储区)中保存数据。

为了指示存储区域,每个变量都应该被赋予一个唯一的名称(标识符)。标识符就是变量名、方法名、类名、接口名等,请转到 Java 标识符章节了解更多信息。

在 Java 中创建变量

下面创建了一个变量,

int speedLimit = 80;

这里, speedLimit 是一个整数变量,我们为其分配了值 80

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

在示例中,我们在声明期间为变量赋值。但是,这不是强制性的。您可以分别声明变量和为变量赋值。例如:

int speedLimit;
speedLimit = 80;

!! 注意:Java 是一种静态类型语言。这意味着必须先声明所有变量,然后才能使用它们。这与 JavaScriptPython 很不同。

改变变量的值

变量的值可以在程序中更改。例如,

int speedLimit = 80;
// some code
speedLimit = 90;

这里, speedLimit 最初的值是 80。后来,我们把它改成了 90

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

什么是变量作用域?暂时先不用管,请记住,我们不能做这样的事情:

int speedLimit = 80;
// some code
float speedLimit;

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.

  • 创建变量时,请选择一个有意义的名称。例如 score, number, level 比变量名 s, n, 和 l 更有意义。

  • 如果您选择一个单词的变量名称,请使用全部小写字母。例如,最好使用 speed 而不是 SPEEDsPEED.

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

  • 实例变量(非静态属性)
  • 类变量(静态属性)
  • 局部变量
  • 参数

Java 字面量

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

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

这里, 1 , 2.5 , 和 'F' 是字面量。

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

布尔字面量

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

boolean flag1 = false;
boolean flag2 = true;

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

整数字面量

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

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

例如:

// 二进制
int binaryNumber = 0b10010;
// 八进制
int octalNumber = 027;
// 十进制
int decNumber = 34;
// 十六进制
int hexNumber = 0x2F; // 0x represents hexadecimal
// 二进制
int binNumber = 0b10010; // 0b represents binary

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

! :整型数用于初始化的 byteshortint ,和 long 类型的变量。

浮点字面量

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

public 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 类型的变量。

字符字面量

字符字面量是用单引号括起来的 Unicode 字符。例如,

char letter = 'a';

这里, a 是字符字面量。

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

字符串字面量

字符串字面量是用双引号括起来的字符序列。例如,

String str1 = "Java Programming";
String str2 = "GoBeta";

在这里, Java ProgrammingGoBeta 是两个字符串字面量。