2014-12-31 4 views
4

Я новичок в программировании и изучении Java в эти дни. Я прочитал, что Идентификаторы - это «имена, данные переменным и многие другие вещи в java-классах и т. Д.». Но я смутил, что если идентификатор является именем переменной, поэтому переменная будет иметь свою личность. Например, у меня есть книга в реальном мире, которая может быть переменной в программировании, а ее имя - Book, поэтому Book будет как Variable, так и Identifier. Как эти две вещи различаются и различны.Разница между переменной и идентификатором

ответ

9

Каждая переменная имеет имя, которое является идентификатором. Аналогично, каждый класс имеет имя, которое также является идентификатором - как имя метода и имя пакета. Существуют ограничения на то, как может выглядеть идентификатор - например, он не может начинаться с числа или включать пробелы.

Так, например, в этой программе:

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

Идентификаторы используются:

  • 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); 
} 

Здесь идентификатор x используется в обоих методах - но каждый раз, когда оно относится только к переменной, объявленной в рамках метода.

Идентификатор является лишь частью того, как вы представляете свою программу в виде текста, тогда как переменная является частью вашей логической программы.

Это не совсем понятно для меня, где ваше замешательство возникает в первую очередь, но, надеюсь, это может помочь вам немного ... вы можете , вероятно, просто игнорировать термин идентификатор целиком по большей части. Просто знайте, что переменные (и другие вещи) имеют имена.

+0

Это означает, что Идентификатор не резервирует память или часть памяти, но переменная выделяет кусок памяти. –

+0

@SyedShaharyaarHussain: Ну, я бы так не выразился, потому что они действительно * очень разные концепции. Переменные - это то, как вы храните информацию. Идентификаторы - это просто способы определения «вещей» (переменных, методов, типов, пакетов и т. Д.). Каждая переменная имеет имя, которое должно быть идентификатором. Он также имеет место для хранения. –

+0

Спасибо, теперь я понял эти два термина. –

8

Идентификатор - это имя переменной, класса, функции и т. Д. Вы отличаете его так же, как и свое имя от себя.

Так что если память хранит значение на определенном адресе памяти, вместо того, чтобы вы выбрали это значение с определенного адреса, вы просто ссылаетесь на идентификатор.

Так же, как говорят: «Я ищу Сайед» вместо того, чтобы сказать: «Дайте мне человека в этих конкретных координат в пространстве»

+2

Ну, идентификаторы используются для разных вещей, а не только для переменных. –

+2

@JonSkeet Правда, спасибо, что указали это. – Christoffer

+0

@ Крис: Спасибо. –

0

Идентификатор - это токен, который следует правилам токена, а также может использоваться для идентификации чего-то. идентификатор может также использоваться для имени: Переменные/Литералы/Ключевые слова/Класс/Метод .............. и т. д. A переменная является идентификатором, который является используется для хранения некоторого значения. Значение, содержащееся в переменной, может быть изменено (изменено) в любое время во время выполнения программы.

Смежные вопросы