我对标识符有点困惑。在我的教科书中,它说:“我们使用标识符来命名 Java 中的变量(和许多其他东西)。”
我不太确定这意味着什么。就像将变量分配给变量一样吗?什么?
到目前为止,我得到了这样的印象:
int a, b, c; a = 2; b = 99; c = a + b;
是c
标识符吗?当它说“使用标识符来命名变量”时,标识符是int
用于double
对boolean
变量进行分类的东西吗?请提供一些例子。
我对标识符有点困惑。在我的教科书中,它说:“我们使用标识符来命名 Java 中的变量(和许多其他东西)。”
我不太确定这意味着什么。就像将变量分配给变量一样吗?什么?
到目前为止,我得到了这样的印象:
int a, b, c; a = 2; b = 99; c = a + b;
是c
标识符吗?当它说“使用标识符来命名变量”时,标识符是int
用于double
对boolean
变量进行分类的东西吗?请提供一些例子。
您可以将标识符视为变量的名称。我不会为此太激动的。
例如:
int a;
a = 15;
在此示例中,a
是一个标识符,它引用同名变量。如果a
不是变量而是函数:
int a()
{
}
a();
然后a
仍然是一个标识符,但它会标识一个函数。就像“Reena”可以识别个人和某种非营利组织一样。
我同意 GNU C 的定义,即 C 中有 5 个标记:关键字、标识符、运算符、常量和分隔符。Java 也是如此。
int
不是标识符,因为它被定义为关键字。运算符从有效标识符符号列表中排除。常量只是值,但引用常量的名称是标识符。
基本上:只要不在关键字列表中,任何“单词”(一组 1 个或多个有效标识符符号)都是标识符。在 Java 中,有效的标识符符号是 Unicode 字母、数字、美元和下划线。数字不能是第一个符号。美元和下划线虽然有效,但不应使用,但在多字常量标识符(如MY_MAGIC_NUMBER = 6
.
标识符只是变量的名称。所以对于变量c
,标识符是实际的文本c
,这只是你引用变量的方式。有可能(稍后您将了解)同一个变量可以有多个标识符,有点像现实生活中一个人可以有多个名字。
现在不要太担心它,继续尝试并专注于更重要的东西,如循环、条件、类等。
标识符是变量的名称,变量是数据的存储位置。变量指向读取和修改数据的内存位置
在 Java 中,标识符是赋予程序元素的名称,其中程序元素可以是包、类型(类、接口、枚举、注释)、字段(实例/静态变量)、枚举常量、注释类型元素、方法、局部变量和参数。本质上,标识符标识程序元素。
例如,在下面的代码中,
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.
标识符就像任何用户定义函数的名称,例如
int gcd(int,int);
这里函数 gcd 的名称是一个标识符。
变量用于分配在执行过程中可能会发生变化的值,例如
int a,b;
int a=10;
在上面的两个表达式中,第一个是声明变量,第二个是赋值 10。这里 a 和 b 是变量。
如果我理解正确,这似乎是过度工程的一个例子(在过度思考变量名称(标识符)的上下文中)
// 变量定义
int myVariable = 42;
从技术上讲
42 是变量(赋值)。
myVariable 是标识符(我们为存储变量而创建的名称)
我通常在将标识符称为变量的通用思想下工作,如果您想获得技术知识,请区分“我们为存储变量而创建的名称是‘变量名’和存储在‘变量名’中的值”是“变量值”。
我会说变量是定义的存储区域;事实上,您的 RAM 中有一个地方可以保存值。变量标识符是您赋予该区域的名称。
当然,标识符可以命名的不仅仅是变量。函数(带有输入/输出参数的代码包)也有一个名称:函数标识符。一个类型(值域),也有一个名字,类型标识符。一个类(具有函数成员的类型),具有类标识符,等等。
例如,“4”是一个值。更重要的是,它是一个整数。如果你想管理自己的整数怎么办?您需要一个存储区域来保存整数,一个名称来引用该存储区域,您需要定义要在该区域中保存的值(类型/域),以及一个名称来引用和指定该类型。所以,你写这样的东西:
int var;
如果 Java 解析器看到一个具有以下结构的句子:name name;
,他就知道您正在创建一个存储区域。第一部分指定该区域的值的类型,并且指定它的唯一方法是编写该类型的类型标识符,因为类型本身是一个抽象概念(例如,int
对于某事物的抽象概念是整数)。
第二部分是您要为该区域指定的名称,以便以后使用,因为使用名称引用存储区域比使用任何其他方式(例如,内存方向或其他任何方式)更简单;让语言管理它你)。
标识符是代表变量或函数的词,但变量是内存中存储数据的空间。例如:一旦你声明了一个变量如:int god;
这个词god
是标识符并且int god;
是声明的变量输入一个整数数据。
添加到上述答案
每个变量都是一个标识符,但每个标识符都不是一个变量。
ex1) 函数名是标识符但不是变量
简单来说,变量是占用内存空间的东西,标识符是该位置的名称。
标识符用于识别变量,例如您的名字识别您但您不是您的名字,您只是被它识别。标识符还可用于识别 user267885 的最高评价答案所指出的功能。int 不是标识符,而是声明变量类型的关键字。
在 C/C++ 中,变量、函数、标签和各种其他用户定义对象的名称称为标识符。第 16 页,C++:完整参考,Herbert Schildt。
我会尝试这样做,但不举个例子。
程序中的每一条数据都存储在计算机内存中的某个位置,并为其地址命名。用于引用此内存位置的名称称为标识符。
如果此位置的数据可以在运行时更改,则此标识符称为变量。如果不是,我们说它是一个常数。
标识符是 Java 中赋予事物的名称。这包括变量、方法、类等。因此,从技术上讲,变量是标识符。见:https ://www.cs.umd.edu/~clin/MoreJava/Intro/var-ident.html
关于您对“我不太确定这意味着什么感到困惑。这就像将变量分配给变量一样吗?什么?” --> 正确的说法是:给变量赋一个“名字”(你想给变量取什么名字)。