标识符和变量有什​​么区别?

时间:2012-07-11 19:11:03

标签: variables identifier

我对标识符有点困惑。在我的教科书中,它说:“我们使用标识符来命名Java中的变量(和许多其他东西)。”

我不确定这意味着什么。是否像为变量赋值变量?什么?

到目前为止,我得到了这样的印象:

int a, b, c; a = 2; b = 99; c = a + b;

c是标识符吗?当它说“使用标识符命名变量”时,标识符如intdoubleboolean,用于对变量进行分类的内容?请提供一些例子。

15 个答案:

答案 0 :(得分:27)

您可以将标识符视为变量的名称。关于它,我不会太过努力。

例如:

int a;
a = 15;

在此示例中,a是引用具有相同名称的变量的标识符。如果a不是变量而是函数:

int a()
{
}

a();

然后a仍然是一个标识符,但它会识别一个函数。正如“Reena”可以识别一个人和some kind of a non-profit organization.

答案 1 :(得分:5)

标识符只是变量的名称。因此,对于变量c,标识符是实际文本c,这只是您引用变量的方式。有可能(正如您将在后面了解到的那样)可以为同一个变量设置多个标识符,有点像现实生活中一个人可以拥有多个名称。

现在不要过于担心,只要继续尝试并专注于更重要的东西,如循环,条件,类等。

答案 2 :(得分:5)

我同意GNU C的定义,即C中有5个令牌:关键字,标识符,运算符,常量和分隔符。 Java也是如此。

int不是标识符,因为它被定义为关键字。运算符从有效标识符符号列表中排除。常量只是值,但引用常量的名称是标识符。

基本上:任何“单词”(一组1个或多个有效标识符符号)都是标识符,只要它不在关键字列表中即可。在Java中,有效的标识符符号是Unicode字母,数字,美元和下划线。数字不能成为第一个符号。美元和下划线虽然有效,但不应使用,除了MY_MAGIC_NUMBER = 6等多字常量标识符中的分隔符。

答案 3 :(得分:4)

标识符是变量的名称,变量是数据的存储位置。变量指向读取和修改数据的内存位置

答案 4 :(得分:3)

在Java中,identifier是给予程序元素的名称,其中程序元素可以是包,类型(类,接口,枚举,注释),字段(实例/静态变量) ,枚举常量,注释类型元素,方法,本地变量和参数。基本上,标识符标识程序元素。

例如,在以下代码中,

package declarations;

public class A {

    private int value = 1;

    private enum SUITS {CLUB, DIAMOND, HEART, SPADE};

    public A(int val) {
        this.value = val;
    }

    public int doSomething() {
        int c = value + 10;
        return c;
    }
}

// declarations, A, value, SUITS, CLUB, DIAMOND, HEART, SPADE,
// A, val, value, val, doSomething, c, value, c are the 
// identifiers in order of their occurrence.

答案 5 :(得分:2)

标识符就像任何用户定义函数的名称一样,如

int gcd(int,int);

这里函数gcd的名称是标识符。

变量用于指定在执行期间可能会有所不同的值,例如

int a,b;
int a=10;

在上面两个表达式中,第一个是声明变量,第二个是赋值10。 这里a和b是变量。

答案 6 :(得分:1)

如果我理解正确,这似乎是过度工程的一个例子(在过度思考的变量名称(标识符)的背景下)

//变量定义

int myVariable = 42;

从技术上讲,

42是变量(赋值)。

myVariable是标识符(我们创建用于存储变量的名称)

我通常在将标识符称为变量的一般概念下工作,如果您想获得技术,请区分“我们创建的用于存储变量的名称是'变量名'和存储在'中的值'变量名'是'变量值'。

答案 7 :(得分:1)

我会说变量定义的存储区域;事实上你的RAM中有一个地方可以保存你的价值。 变量标识符是您为该区域提供的名称。

当然,标识符的名称可以多于变量。函数(包含输入/输出参数的代码包)也有一个名称:函数标识符。类型(值域),也有一个名称,类型标识符。类(具有函数成员的类型)具有类标识符,依此类推。

例如,'4'是一个值。更重要的是,它是一个整数。如果你想管理自己的整数怎么办?您需要一个存储区域来保存整数,一个名称来引用该存储区域,您需要定义要在该区域中保存的值(类型/域),以及要引用和指定该类型的名称。所以,你写了类似的东西:

int var;

如果Java解析器看到具有以下结构的句子:name name;,则他知道您正在创建存储区域。第一部分指定了区域所针对的值的类型,并且指定它的唯一方法是写入该类型的类型标识符,因为类型本身是一个抽象概念(例如,int用于抽象某事物是一个整数的概念。)

第二部分是您要为该区域提供的名称,以便稍后使用,因为使用名称引用存储区域比使用任何其他方法更简单(例如,内存方向或其他;保留语言)为你管理。)

答案 8 :(得分:0)

标识符是澄清变量的单词,但变量是ram中用于存储数据的空间。示例:一旦声明了一个变量,例如:int god;,单词int就是标识符,int god;是声明输入整数数据的变量

答案 9 :(得分:0)

简单来说,变量是占用内存空间的东西,而标识符是该位置的名称。

答案 10 :(得分:0)

标识符是Java中给出的东西的名称。这包括变量,方法,类等。因此,从技术上讲,变量是标识符。 见:https://www.cs.umd.edu/~clin/MoreJava/Intro/var-ident.html

关于你的困惑“我不确定这意味着什么。是否就像给变量分配一个变量?什么?” - >正确的说法是:为变量指定一个“名称”(你想要一个变量的名称)。

答案 11 :(得分:0)

在C / C ++中,变量,函数,标签和各种其他用户定义对象的名称称为标识符。                       第16页,C ++:完整参考,Herbert Schildt。

答案 12 :(得分:0)

我将不做任何示例来尝试执行此操作。

程序中的每条数据都存储在计算机内存中的某个位置,并为其地址指定一个名称。用来引用此内存位置的名称称为 identifier

如果可以在运行时更改此位置的数据,则此标识符称为变量。如果不是,我们说它是一个常量

答案 13 :(得分:0)

添加到以上答案

每个变量都是一个标识符,但每个标识符都不是变量。

ex1)函数名称是标识符,但不是变量

答案 14 :(得分:0)

标识符用于识别变量,例如您的名字可以识别您,但您不是您的名字,您只是通过它来识别。标识符还可用于识别用户 267885 评分最高的答案所指出的功能。 int 不是标识符,而是声明变量类型的关键字。