Для чего используются идентификаторы в java
Общие представления о языке Java
1.5.Идентификаторы. Переменные и типы. Примитивные и ссылочные типы
Язык Java является регистро-чувствительным. Это значит, что идентификаторы чувствительны к тому, в каком регистре (верхнем или нижнем) набираются символы. Например, имена i1 и I1 соответствуют разным идентификаторам. Это правило привычно для тех, кто изучал языки C/C++, но может на первых порах вызвать сложности у тех, кто изучал язык PASCAL, который является регистро-нечувствительным.
Длина идентификатора в Java любая, по крайней мере, в пределах разумного. Так, даже при длине идентификатора во всю ширину экрана компилятор NetBeans правильно работает.
При этом MyType1 – имя типа этих переменных.
Другой пример – объявление переменной j типа int:
Типы бывают предопределенные и пользовательские. Например, int – предопределенный тип, а MyType1 – пользовательский. Для объявления переменной не требуется никакого зарезервированного слова, а имя типа пишется перед именами задаваемых переменных.
После объявления переменных они могут быть использованы в выражениях и присваиваниях:
и так далее. Например,
Примитивными типами называются такие, для которых данные содержатся в одной ячейке памяти, и эта ячейка не имеет подъячеек.
В Java действуют следующие соглашения о регистре букв в идентификаторах:
Переменная примитивного типа может быть отождествлена с ячейкой, в которой хранятся данные. У нее всегда есть имя. Присваивание переменной примитивного типа меняет значение данных. Для ссылочных переменных действия производятся с адресами ячеек, в которых хранятся данные, а не с самими данными.
Для чего нужны такие усложнения? Ведь человеку гораздо естественнее работать с ячейками памяти, в которых хранятся данные, а не адреса этих данных. Ответ заключается в том, что в программах часто требуются динамически создаваемые и уничтожаемые данные. Для них нельзя заранее создать необходимое число переменных, так как это число неизвестно на этапе написания программы и зависит от выбора пользователя. Такие данные приходится помещать в динамически создаваемые и уничтожаемые ячейки. А с этими ячейками удается работать только с помощью ссылочных переменных.
Переменные и идентификаторы в java
Комментарии
Комментарии в языке java, как и в других языках программирования, служат для разъяснения кода. Они являются своеобразными подсказками другим программистам или вам (например, если ваша программа будет слишком большой, вы хможете забыть, что значит этот код или для чего конкретно создавалась данная переменная, — тогда комментарии помогут вспомнить смысл данного блока кода).
Комментарии бывают трех типов.
• Многострочный комментарий.
/*Многострочный
Комментарий */
Этот комментарий использовался еще в языке С. Он может располагаться на одной или нескольких строках между группами симоволов / * и * /.
• Однострочный комментарий.
// Комментарий
Этот однострочный комментарий пришел к нам из языка С++. Комментарий может располагаться только на одной строке начиная с пары символов / / и до конца строки.
• Многострочный тип комментариев для документирования кода:
/** код
Комментарий */
Подобные комментарии располагаются между /** и */ на одной или нескольких строках. С помощью специальной утилиты javadoc на их основе собираются специальные файлы, которые в результате оказываются представлены в виде HTML-страницы.
Прокомментируем первую программу из листинга 1.1 (листинг 1.4).
Листинг 1.4. Первая программа на языке Java с использованием комментариев
Работа с переменными
Создадим программу, которая демонстрирует действия с переменными (листинг 1.5).
Листинг 1.5. Использование переменных в программе
Из всего текста рассмотрим лишь следующий участок кода.
В первой строке создаются три переменные: а, b и s целого типа данных (на это указывает ключевое слово int — указатель целого типа данных), причем переменная b сразу получает значение 4 с помощью оператора (в данном случае этот термин употребляется в значении математических, логических и других знаков) равной».
Слева от этого оператора располагается переменная, которой мы присваиваем значение, а в правой части напишем выражение, вычисляющее значение. Далее присваиваем переменной а значение 5. В следующей строке присваиваем теперь уже переменной s значение произведения значений переменных а и Ь (умножаются эти числа с помощью оператора умножения — «*»).
И затем на экран выводится строка Площадь прямоугольника со сторонами 5 см и 4 см равна, далее значение переменной s, а затем строка «квадратных сантиметров».
Идентификаторы
Имена переменных, классов, объектов, интерфейсов, методов называются идентификаторами. Названия идентификаторов выбираются по следующим правилам:
• они должны начинаться с буквы или символа подчеркивания;
• они могут содержать латинские буквы, символы подчеркивания или цифры без пробелов;
• названия идентификаторов не должны совпадать с ключевыми словами; список этих ключевых слов приведен в табл. 1.1.
Таблица 1.1 Ключевые слова, которые не должны присутствовать в названиях идентификаторов
Приведем десять примеров допустимых имен переменных (листинг 1.6).
Листинг 1.6. Примеры использования допустимых имен переменных
А вот десять примеров недопустимых имен (листинг 1.7).
Листинг 1.7. Примеры использования недопустимых имен переменных
Резюме
1. Язык Java начал разрабатываться в 1991 году под названием Oak (дуб), а затем в 1995 году был переименован в язык Java. Создавался он группой сотрудников из компании Sun Microsystems.
2. Язык Java построен на принципах ООП (объектно-ориентированного программирования), тогда как его предшественник С++ придерживался парадигмы ООП не полностью.
3. Java— компилирующий язык программирования. Компилятор (в данном случае) — разновидность транслятора, который переводит текст на языке программирования в так называемый байт-код, выполняющийся с помощью виртуальной машины Java (JVM).
4. Класс — структура данных (состоящих из полей и методов), которая необходима для создания экземпляров класса (объектов). Главный метод программы — main.
5. Переменная — это именованная ячейка памяти, хранящая данные определенного типа. Эти данные должны находиться в диапазоне допустимых значений, который уникален для каждого типа данных. Имя класса, метода, интерфейса, переменной называется идентификатором.
6. Комментарии — это специализированные подсказки программисту для разъяснения кода. Они бывают трех типов: два многострочных и один однострочный. Комментарии одного из двух многострочных типов собираются с помощью специальной утилиты в файл справки.
Вопросы для самопроверки:
1. Что такое язык Java?
2. Что такое ООП?
3. Что такое процедурное программирование?
4. Где и когда разрабатывали язык Java?
5. Какое отношение имеет дуб к программированию?
6. Что такое IDE?
7. Что такое класс?
8. Что такое объект класса?
9. Что такое переменная?
10. Что такое метод?
11. Что такое поля класса?
12. Что такое комментарии и какими они бывают?
13. Что такое утилита javadoc?
14. Что такое ключевое слово?
15. Что такое возвращение значения?
16. Что такое идентификатор?
17. Что такое полиморфизм?
18. Что такое наследование?
19. Что такое тип данных int?
Контрольные упражнения
1. Напишите программу, которая выводила бы приветствие.
2. Напишите программу, которая бы вычисляла площадь квадрата со стороной 5 сантиметров.
3. Почему последовательности символов из листинга 1.7 нельзя использовать в качестве имен переменных?
Идентификаторы Java
В языках программирования идентификаторы используются для целей идентификации. В Java идентификатором может быть имя класса, имя метода, имя переменной или метка. Например :
В приведенном выше Java-коде у нас есть 5 идентификаторов, а именно:
Правила определения идентификаторов Java
Существуют определенные правила для определения действительного идентификатора Java. Эти правила должны соблюдаться, иначе мы получим ошибку во время компиляции. Эти правила также действительны для других языков, таких как C, C ++.
Примеры допустимых идентификаторов:
Примеры неверных идентификаторов:
Зарезервированные слова
Любой язык программирования резервирует некоторые слова для представления функций, определенных этим языком. Эти слова называются зарезервированными словами. Их можно кратко разделить на две части: ключевые слова (50) и литералы (3).
ключевые слова определяют функциональные возможности, а литералы определяют значение.
Идентификаторы используются таблицами символов на различных этапах анализа (например, лексический, синтаксический, семантический) архитектуры компилятора.
Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное или вы хотите поделиться дополнительной информацией по обсуждаемой выше теме.
Ключевые слова Java
Ключевые слова Java-это зарезервированные слова, используемые компилятором Java. Эти ключевые слова имеют особое значение для компилятора Java. Зарезервированные ключевые слова
Ключевые слова Java-это зарезервированные слова, используемые компилятором Java. Эти ключевые слова имеют особое значение для компилятора Java. Зарезервированные ключевые слова помогают нам в написании кода и помогают компилятору в понимании кода и создании байт-кода.
Мы не можем создавать идентификаторы (класс, переменная, метод), имеющие то же имя, что и зарезервированное ключевое слово.
Ключевые слова Java
Java содержит 64 зарезервированных ключевых слова. Мы можем разделить их на следующие категории.
Давайте кратко рассмотрим все эти ключевые слова.
1. Примитивные типы и пустота
Эти ключевые слова используются для создания переменных примитивных типов данных. Пустота используется, когда метод ничего не возвращает.
Вот простой пример, показывающий использование этих ключевых слов. Обратите внимание на использование ключевого слова void в основной функции java, чтобы указать, что оно ничего не возвращает.
2. Ключевые слова-Модификаторы
Эти ключевые слова используются для указания области действия переменной, методов и класса.
Рекомендуемые показания :
Вот простой пример, показывающий использование ключевых слов-модификаторов в программе Java.
3. Ключевые слова Объявлений
Эти ключевые слова используются для создания сущности в Java.
4. Ключевые слова Потока Управления
Эти ключевые слова используются для определения потока выполнения кода java.
Вот пример, показывающий использование ключевых слов потока управления в Java.
5. Разные Ключевые слова
Как проверить, является ли строка ключевым словом?
Мы можем использовать Источник Version.is Ключевое слово() метод проверки того, является ли строка частью зарезервированных ключевых слов или нет.
Вывод
Ключевые слова Java определяют способ написания кода. Это свод правил для компилятора java для интерпретации кода и генерации байт-кода.
Подготовка к экзамену Oracle Certified Professional Java Programmer
Предисловие
На 16 декабря сего года я назначил себе прохождение экзамена Oracle Certified Professional Java Programmer. Он же Sun Certified Programmer в прошлом. Кроме того я подтолкнул к этому важному шагу еще троих своих товарищей. Начинаем готовиться. Пока вяло, но все же… И чтобы систематизировать получаемые знания, я решил периодически составлять «выжимки» — краткое содержание того, что нашел, прочитал или испытал на собственной шкуре. То, что вы читаете в данный момент — выжимка за номером ноль. Надеюсь, что это поможет кому-то избежать покупки дорогостоящих книг и перелистывания огромного количества статей. Готовлюсь я, кстати, по книге Sun Certified Programmer for Java 6: Study Guide за авторством Kathy Sierra и Bert Bates. Хорошая книга, отличный автор, легкий язык. Рекомендую.
Обращаю внимание, что я не претендую на полное описание всего того, что нужно знать перед экзаменом. Без помощи хаброжителей я подобную работу проделать не смогу, просто потому, что я еще не сдавал сам экзамен. Многое из приведенного ниже может показаться кому-то примитивным. Однако, как показывает практика нарешивания тестов, дьявол кроется именно в деталях. Будем считать это попыткой сжато изложить необходимое от правил именования идентификаторов до подводных камней перегрузки методов при наследовании и далее. Кроме того, я надеюсь подчерпнуть что-то полезное из комментариев людей, которые этот путь уже прошли. В лучшем случае на Хабре появится successfull story с полным описанием того, как все начиналось, росло и развивалось. Поскольку по задумке публиковаться все будет в реальном времени, — раз в двое суток примерно, — то те, кому предстоит сдавать экзамен смогут сравнивать по датам свой темп обучения с нашим и проходить чекпоинты намного быстрее.
Содержание для всей серии
Итак, начнем
Ни для кого не секрет, что все компоненты Java, — будь то классы, переменные, методы или нечто иное, — должны иметь имена или, что звучит немного научнее, идентификаторы. При этом следует учитывать, что есть два уровня «правильности» идентификатора. Во-первых, он должен удовлетворять требованиям языка, а именно:
Во-вторых, идентификатор должен удовлетворять Java Naming Convention. Важно понимать, что даже если идентификатор не является правильным с точки зрения соглашений, он все еще может оставаться валидным для компилятора. Например, компилятор скушает объявление переменной int _$ даже не возмутившись. В ходе экзмена важно понимать, требуется ли определить синтаксическую верность идентификатора, или же нужно понять, удовлетворяет он общепринятому стандарту или нет. Весь стандарт, кстати, с вас никто спрашивать не будет. Важно помнить только несколько фактов:
Вот, собственно, и все основные правила, которых нужно придерживаться. Замечу, правда, что сами авторы книги этим правилам следуют не всегда, за что дико извиняются в самом ее начале. Причной этому, как они говорят, служат особенности утилиты, используемой при интернационализации экзамена. Сертифицированные-то программисты, ИМХО, могли бы и поправить ))
Теперь поговорим немного правилах использования файлов с исходным кодом наших классов.
Модификаторы доступа вы можете в произвольном порядке чередовать с еще несколькими ключевыми словами: final, abstract или strictfp. Вы легко можете объявить класс с модификаторами, скажем, public final strictfp, если вам хочется. Причем порядок не важен. Можно и поменять местами что-нибудь: final public strictfp. Все модификаторы асболютно равноправны. Не стоит только применять final и abstract одноврмененно. Это вызовет ошибку компилятора, так как вы применяете взаимно противоположные по смыслу модификаторы.
Теперь поговорим немного об интерфейсах. О них стоит думать как о полностью абстрактных классах, которые используются для того, чтобы описать, что класс должен делать, не накладывая однако ограничений на то, как именно он это будет делать.
На этом сегодня все. В следующий раз постараюсь подробнее рассмотреть особенности применения модификаторов доступа к полям и методам класса. Кроме того мы рассмотрим примитивные типы, массивы и статические переменные, а также пройдем первый тест для проверки того, насколько все хорошо усвоилось и переварилось. Тест оформлю как форму в Google Docs.
Если кому-то интересно, могу также опубликовать подробную инструкцию, посвященную тому, как на этот экзамен зарегистрироваться через сайты авторизованных партнеров Oracle. Мне лично, чтобы уяснить, где и что выбирать, кому писать и с кем договариваться, пришлось связываться с саппортом Oracle.
Спасибо за внимание и удачного вам экзамена!