变量和标识符之间的差异

Sye*_*ain 4 java

这些日子我是编程和学习Java的新手.我已经读过,标识符是"赋予变量的名称以及java中的许多其他内容,如类等".但我感到困惑的是,如果标识符是赋予变量的名称,那么变量将如何具有自己的个性.例如,我在现实世界中有一本书,它可以在编程中变化,其名称为Book,因此Book将是Variable和Identifier.这两件事如何区分和区别.

Chr*_*fer 9

标识符是变量,类,函数等的名称.您区分它的方式与您自己的名称相同.

因此,如果内存在某个内存地址中保存一个值,而不是必须从特定地址获取该值,则只需引用该标识符即可.

就像说"我正在寻找赛义德",而不是说"在空间的这些特定坐标上给我这个人"

  • 好吧,标识符用于各种事情 - 而不仅仅是变量. (2认同)
  • @JonSkeet是的,谢谢你指出这一点. (2认同)

Jon*_*eet 9

每个变量都有一个名称,这是一个标识符.同样,每个类都有一个名称,它也是一个标识符 - 方法名称和包名称.标识符的外观有限制 - 例如,它不能以数字开头,或包含空格.

例如,在这个程序中:

public class Test {
    public static void main(String[] args) {
        int x = 0;
        System.out.println(x);
    }
}
Run Code Online (Sandbox Code Playgroud)

使用的标识符是:

  • Test
  • main
  • args
  • x
  • System
  • out
  • println

但是,只有args并且x是在您给出的代码中声明的变量.out也是一个变量,但它在System类型中声明.

相同的标识符可以指代不同上下文中的不同内容,即使在同一程序中也是如此.例如:

public void method1() {
    String x = "";
    System.out.println(x);
}

public void method1() {
    int x = 0;
    System.out.println(x);
}
Run Code Online (Sandbox Code Playgroud)

这里标识符x用于两种方法 - 但每次只引用方法中声明的变量.

标识符只是您将程序表示为文本的一部分,而变量是逻辑程序的一部分.

我并不完全清楚你的困惑源于哪里,但希望这可以帮助你一点......你可能只是完全忽略了术语标识符.只要知道变量(和其他东西)有名字.