Выпуск 1 - Основы языка (начало)Здравствуйте, дорогие читатели! В первом выпуске мы с места в карьер ознакомимся с базовыми понятиями языка программирования Java. Очень можно долго писать вступление и объяснять, что такое Java, и зачем он (язык) нужен, и как он организован. Можно обратить внимание, что для выполнения программ на Jave необходимо генерировать объектный код, а не исполняемый, нудно рассказывать про трансляторы и компиляторы... Я решила, что лучше сразу приступить к изучению. Если что-то не понятно, пишите мне письма, пожалуйста. Я с радостью отвечу на все вопросы. 1. Основы языка1.1. Исходные файлыВсе исходные файлы (они же "исходники"), написанные в Java, должны
заканчиваться расширением .java. Файл должен
содержать по крайней мере одно открытое и общедоступное (public) определение класса.
Формат объявления пакета очень прост. Сначала идёт ключевое слово package, за которым следует название пакета. А название
пакета, в свою очередь, состоит из последовательности определённых
элементов, разделённых точкой. Эта последовательность элементов
отображает иерархию директорий на диске. В директорию с именем последнего
элемента последовательности и находится класс. Рассмотрим пример выше:
класс с таким объявлением пакета помещается в директорию problems, которая размещена в директории exam. Вы должны быть внимательны, именуя каждый элемент
последовательности: имена директории должны быть допустимы на любой
платформе. То есть попросту элементы последовательности могут содержать
буквы, цифры, символ подчёркивания и символ доллара. Утверждение импорта имеет похожую структуру, за исключением того, что
можно импортировать как индивидуальный класс, так и весь пакет целиком. В
первом случае, после елючевого слова import вы
должны написать полный путь к классу и завершить утверждение точкой с
запятой. Во втором случае, нужно просто добавить символ звёздочки после
имени директории, в которой находится импортируемый пакет. Детальное определение класса мы рассмотрим в следующих выпусках. Пробелы и коментарии могут предшествовать любой единице компиляции.
Например, класс Test может иметь такой вид: Случается, что существуют два класса с одинаковым именем, но в разных пакетах. Например, Date класс в java.util и в java.sql. Если в ыиспользуете звёздочку для импорта обоих пакетов, а затем пытаетесь использовать класс названный просто Date, вы получите ошибку компиляции о том, что такое использование неоднозначно. Вы должны или сделать явный импорт класса, или обращаться к классу, используя полный путь к нему. 1.2. Ключевые слова и дентификаторыВ языке Java существует 52 ключевых и зарезервированных слов. Они приведены в Таблице 1.1.
Слова goto и const являются зарезервированными. Хоть они и не имеют никакого смысла в Java, программисты не могут использовать их как идентификатор. Идентификатор - это слово, используемого программистом, чтобы
дать имя переменной, методу, классу или метке. Ключевые и
зарезервированные слова не могут быть использованы в качестве
идентификаторов. Идентификатор может начинаться с цифры, символа
подчёркивания (_) или символа доллара ($); последующими символами могут
быть буквы, цифры, символы подчёркивания или символы доллара. Несколько
примеров: Идентификаторы чувствительны к регистру. Например, Radius и radius - различные идентификаторы. 1.3. Примитивные типы данныхЛирическое отступление для совсем новичков Примитивные типы данных в Java: boolen, char, byte, short, int, long, float, double. Размеры этих типов приведены в Таблице 1.2.
Переменные типа boolean принимают только два значения: true и false. Четыре целочисленных типа со знаком: byte, short, int, long. Их интервалы значений приведены в Таблице 1.3.
Тип char - целочисленный, но без знака. Его диапазон варьируется от 1 до 2^16-2. Java символы (char тип) кодируются в системе Unicode, то есть 16-тибитное представление значительной части символов, используемых в различных письменных системах. Если 9 первых значащих битов установлены в 0, то кодировка остальной части символа совпадает с кодировкой 7-битной системы ASCII. Типы с плавающей десятичной запятой: float и double. Они соответсвуют спецификации IEEE 754. Некоторые математические оперции приводят к значению, не имеющему представления в цифрах (например, бесконечность). Для описания таких нецифровых ситуаций и float и double могут представляться специальными битовыми паттернами, которые не соответсвуют числам. Эти паттерны определены в классах Float и Double и обращение к ним происходит следующим образом (здесь и далее NaN означает Not a Number, не число):
Следующий фрагмент кода показывает пример использования этих паттернов:
1. double d = -10.0 / 0.0;
Запомним! На сегодня всё. Все последующие выпуски будут также по возможности короткими для того, чтобы вы, дорогие читатели, могли быстро просмотреть выпуск несколько раз и запомнить ключевые концепции. Вы скажете, что и длинные выпуски можно просматривать без особого напряжения. Н по себе знаю, что длинные выпуски откладываются на "потом". Я не публиковала сегодня, откуда можно скачать Java и как её использовать для запуска програм, по тем же причинам перечисленным выше: эту информацию легко найти в интернете и она слишком скучна и немного вне тематики рассылки. Но если у вас, дорогие читатели, возникли проблемы в этих вопросах, пишите мне, пожалуйста, разберёмся. Дорогие читатели! Если у вас возникают вопросы по тексту рассылки, я с удовольствием на них отвечу. Мой почтовый адрес идёт последней строкой в данном выпуске (at означает @). Кроме того, присылайте мне интересующие вас темы, которые я могла бы осветить в рассылке, делитесь опытом или просто комментируйте. Я также буду рада и благодарна вам, если вы проголосуете за этот выпуск. Форма голосования находится внизу выпуска. Всего доброго, Внимание! По вопросам партнёрства обращаться на е-майл natalia.macheda at gmail.com © Наталия Македа 2008 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||