Je suis un peu confus au sujet des identifiants. Dans mon manuel, il est écrit: "Nous utilisons des identificateurs pour nommer les variables (et beaucoup d'autres choses) en Java."
Je ne suis pas vraiment sûr de ce que cela signifie. Est-ce comme assigner une variable ... à une variable? Quoi?
Jusqu'à présent, j'ai cette impression:
int a, b, c; a = 2; b = 99; c = a + b;
c
est-il un identifiant? Quand il est écrit "Utiliser des identifiants pour nommer des variables", est-ce que des identifiants comme int
, double
, boolean
, sont utilisés pour catégoriser les variables? Veuillez donner quelques exemples.
Vous pouvez penser à un identifiant en tant que nom de variable. Je ne m'énerverais pas trop à ce sujet.
Par exemple:
int a;
a = 15;
Dans cet exemple, a
est un identifiant qui fait référence à la variable du même nom. Si a
n'était pas une variable mais une fonction:
int a()
{
}
a();
Alors a
serait toujours un identifiant mais il identifierait une fonction. Tout comme "Reena" peut identifier à la fois une personne et une sorte d'organisation à but non lucratif.
Je suis d'accord avec la définition GNU C qui dit qu'il y a 5 jetons dans C: mots-clés, identificateurs, opérateurs, constantes et séparateurs. La même chose vaut pour Java.
int
n'est pas un identifiant car il est défini en tant que mot clé. Les opérateurs sont exclus de la liste des symboles d'identificateurs valides. Les constantes ne sont que des valeurs, mais le nom qui fait référence à une constante est un identifiant.
Fondamentalement: tout 'mot' (un groupe de 1 ou plusieurs symboles d'identifiant valides) est un identifiant tant qu'il ne figure pas dans la liste des mots-clés. En Java, les symboles d’identification valides sont les lettres Unicode, les chiffres, les dollars et les caractères de soulignement. Digits ne peut pas être le premier symbole. Les dollars et les traits de soulignement, bien que valables, ne devraient pas être utilisés à l'exception de comme séparateurs dans les identificateurs de constante multi-mots comme MY_MAGIC_NUMBER = 6
.
Un identifiant n'est que le nom de la variable. Donc, pour la variable c
, l'identifiant est le texte actuel c
, ce qui est simplement votre façon de faire référence à la variable. Il est possible (comme vous le découvrirez plus tard) que vous puissiez avoir plusieurs identificateurs pour la même variable, un peu comme si, dans la vie réelle, une personne pouvait avoir plusieurs noms.
Ne vous inquiétez pas trop pour le moment, continuez d'essayer de vous concentrer sur les éléments les plus importants tels que les boucles, les conditions, les cours, etc.
Les identificateurs sont les noms des variables et les variables sont les emplacements de stockage des données. Les variables pointent vers l'emplacement de la mémoire où les données sont lues et modifiées.
En Java, identifiant est le nom donné à un élément de programme, un élément de programme pouvant être un package, un type (classe, interface, énumération, annotation), des champs (instance/statique variables), des constantes d’énumération, un type d’annotation. éléments, méthodes, variables locales et paramètres. Essentiellement, un identifiant identifie un élément de programme.
Par exemple, dans le code suivant,
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.
L'identifiant est identique au nom de n'importe quelle fonction de définition d'utilisateur telle que
int gcd(int,int);
Ici le nom de la fonction gcd est un identifiant.
Et variable est des utilisations pour déterminer la valeur que celles-ci peuvent varier pendant l’exécution, telles que
int a,b;
int a=10;
Dans les deux expressions ci-dessus, la première est la déclaration de la variable et la seconde, la valeur 10 .
Je dirais qu'une variable est une région de stockage définie; le fait qu'il y a une place dans votre RAM pour vous où vous pouvez sauvegarder des valeurs. Un identifiant variable est le nom que vous donnez à cette région.
Bien entendu, un identifiant peut nommer plus que des variables. Une fonction (un paquet de code avec des paramètres in/out) a également un nom: l'identifiant function. Un type (domaine de valeur) a également un nom, l'identifiant type. Une classe (type avec des membres de fonction), a l'identifiant class, etc.
Par exemple, '4' est une valeur. Encore plus, c'est un entier. Et si vous voulez gérer vos propres entiers? Vous avez besoin d'une région de stockage pour enregistrer les entiers, d'un nom pour faire référence à cette région de stockage, vous devez définir le type de valeurs (type/domaine) que vous souhaitez enregistrer dans cette région, ainsi que d'un nom pour faire référence et spécifier ce type. Donc, vous écrivez quelque chose comme:
int var;
Si l'analyseur Java voit une phrase ayant la structure suivante: name name;
, il sait que vous créez une région de stockage. La première partie spécifie le type de valeurs auquel cette région est destinée et le seul moyen de la spécifier consiste à écrire l'identificateur de type de ce type, car le type lui-même est une notion abstraite (par exemple, int
pour la notion abstraite de un nombre entier).
La deuxième partie est le nom que vous voulez donner à cette région, vous pourrez l’utiliser plus tard, parce que se référer à une région de stockage en utilisant un nom est plus simple que d’utiliser un autre moyen (par exemple, direction de la mémoire ou quoi que ce soit d'autre; vous).
Si je comprends bien, cela semble être un exemple de sur-ingénierie (dans le contexte de noms de variables réfléchis (Identifiers))
// Définition de variable
int myVariable = 42;
techniquement parlant
42 est la variable (valeur assignée).
maVariable est l'identifiant (nom que nous créons pour stocker la variable)
Je travaille généralement sous l'idée générique de faire référence aux identificateurs en tant que variables et si vous voulez être technique, faites la distinction que le "nom que nous créons pour stocker la variable est le" nom de la variable "et la valeur stockée dans le" nom de la variable " est la "valeur variable".
Les identifiants sont des noms donnés à des objets en Java. Cela inclut les variables, les méthodes, les classes, etc. Donc, techniquement, une variable est un identifiant. voir: https://www.cs.umd.edu/~clin/MoreJava/Intro/var-ident.html
En ce qui concerne votre confusion sur "Je ne suis pas vraiment sûr de ce que cela signifie. Est-ce comme assigner une variable ... à une variable? Quoi?" -> la bonne façon de dire est: Attribuer un "nom" à une variable (quel nom voudriez-vous pour une variable).
Les identifiants sont les mots qui clarifient la variable mais la variable est l'espace dans le ram pour stocker les données. Exemple: une fois que vous avez déclaré une variable telle que: int god;
, le mot int
est l'identifiant et int god;
la variable déclarée pour entrer un entier.
En termes simples, variable est quelque chose qui occupe de l’espace en mémoire et identifiant est le nom de cet emplacement.
En C/C++, les noms de variables, fonctions, étiquettes et divers autres objets définis par l'utilisateur sont appelés identificateurs . 16ème page, C++: La référence complète, Herbert Schildt.