- Любовные романы
- Фантастика и фэнтези
- Ненаучная фантастика
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Юмор
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Работа с клиентами
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Зарубежная литература о культуре и искусстве
- Пословицы, поговорки
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
Java: руководство для начинающих (ЛП) - Шилдт Герберт
Шрифт:
Интервал:
Закладка:
Как вы, вероятно, уже догадались, в реальных программах и апплетах Java вывод на консоль (как, впрочем, и ввод с консоли) используется очень редко. Современные вычислительные среды, как правило, носят оконный и графический характер, и поэтому обмен данными с консолью применяется лишь в простых служебных и демонстрационных программах. Далее в этой книге будут рассмотрены другие способы формирования выходных данных средствами Java, а до тех пор ограничимся использованием методов ввода-вывода на консоль в представленных примерах программ.
Обратите внимание на то, что оператор, содержащий вызов метода println (), оканчивается точкой с запятой. Этим символом завершаются все операторы в Java. В других строках кода точка с запятой отсутствует лишь потому, что они формально не являются операторами.
Первая закрывающая фигурная скобка завершает метод main (), а вторая такая же скобка указывает на окончание определения класса Example.
И последнее замечание: в Java учитывается регистр символов. Забвение этого правила влечет за собой серьезные осложнения. Так, если вместо main вы случайно наберете Main, а вместо println — PrintLn, исходный код программы окажется некорректным. И хотя компилятор Java скомпилирует классы, не содержащие метод main (), у него не окажется средств для их выполнения. Следовательно, если вы допустите ошибку в имени main, компилятор скомпилирует программу и не сообщит об ошибке. Но о ней вас уведомит интерпретатор, когда не сумеет обнаружить метод main ().Обработка синтаксических ошибок
Введите текст рассмотренной выше программы, скомпилируйте и запустите ее (если вы не сделали этого раньше). Если у вас имеется некоторый опыт программирования, то вам, безусловно, известно, что никто не гарантирован от ошибок при наборе исходного кода программы, а также о том, насколько просто допустить такие ошибки. Если вы наберете исходный код программы неправильно, компилятор, пытаясь обработать этот код, выведет сообщение об ошибке. Компилятор Java следует формальным правилам, и поэтому строка в исходном коде, на которую он указывает, не всегда соответствует истинному местоположению источника ошибки. Допустим, в рассмотренной ранее программе вы забыли ввести открывающую фигурную скобку после метода main (). В таком случае компилятор сообщит вам о следующих ошибках:Example.java:8: expected public static void ma'in (String args [ ])Example.java:11: class, interface, or enum expected}^
Очевидно, что первое сообщение не соответствует действительности: пропущена не точка с запятой, а фигурная скобка.
Таким образом, если ваша программа содержит синтаксические ошибки, не стоит без думно следовать рекомендациям компилятора. Сообщение об ошибке составляется по формальным правилам. Вам же нужно разобраться, каковы истинные причины ошибки. Желательно проанализировать строки кода программы, предшествующие строке, обозначенной компилятором. Иногда ошибку удается распознать лишь после анализа нескольких строк кода, следующих за той, в которой она была на самом деле обнаружена.Еще одна простая программа
Вероятно, наиболее широко употребительной конструкцией в любом языке програм¬мирования является оператор присваивания значения переменной. Переменная — этоименованная ячейка памяти, в которой можно хранить присваиваемое значение. В про¬цессе выполнения программы значение переменной может изменяться. Это означает,что содержимое переменной не фиксировано. В приведенной ниже программе исполь¬зуются две переменные — varl и var2./* Продемонстрировать применение переменной. Присвоить исходному файлу имя Ехахпр1е2. java.*/class Example2 { public static void main(String args[]) { int varl; // Объявление переменной, int var2; // Объявление еще одной переменной. varl = 1024; // Присваивание значения 1024 переменной varl. System.out.println("varl contains " + varl); var2 = varl / 2; System.out.print("var2 contains varl / 2: "); System, out .printfln (var2) ; }}
Запустив эту программу на выполнение, вы получите следующий результат:varl contains 1024var2 contains varl / 2: 512
В этой программе представлен ряд новых понятий. Сначала в оператореint varl; // Объявление переменной.
объявляется переменная varl целочисленного типа.
В Java каждая переменная должна быть объявлена перед ее использованием. При объявлении переменной задается ее тип, т.е. тип данных, которые могут в ней содержаться. В данном случае переменная varl может содержать целочисленные значения. Для этой цели при объявлении переменной перед ее именем указывается ключевое слово int. Таким образом, в приведенной выше строке кода объявляется переменная varl типа int.
В следующей строке кода объявляется вторая переменная var2:int var2; // Объявление еще одной переменной.
Как видите, в этой строке кода используется та же самая форма объявления переменной, что и в предыдущей. А отличается она только именем переменной.
В общем, для объявления переменной служит следующий оператор:тип имя_переменной;
где тип обозначает конкретный тип объявляемой переменной, а имя_переменной — ее наименование. Помимо int, в Java поддерживаются и другие типы данных.
В следующей строке кода переменной varl присваивается значение 1024:varl = 1024; // Присваивание значения 1024 переменной varl.
В Java оператор присваивания обозначается знаком равенства. Он копирует значение, находящееся справа от него, в переменную, указанную слева.
В следующей строке кода значение переменной varl выводится на экран после символьной строки "varl contains" (Переменная varl содержит):System.out.println("varl contains " + varl);
В этом операторе знак + указывает на то, что значение переменной varl должно быть выведено после символьной строки. Это правило имеет общий характер. Знаком + можно объединить несколько элементов в одном операторе, передав их в качестве параметра методу println ().
В следующей строке кода переменной var2 присваивается значение переменной varl, разделенное на два:var2 = varl / 2;
После выполнения этого оператора переменная var2 будет содержать значение 512, тогда как значение переменной varl останется без изменения. Как и в большинстве других языков программирования, в Java поддерживаются арифметические операторы, в том числе и перечисленные ниже.+Сложение-Вычитание*Умножение/Деление
Рассмотрим следующие две строки кода:System.out.print("var2 contains varl /2: ");System.out.println(var2);
В первой из них вызывается метод print (), выводящий символьную строку "var2 contains varl /2 : " (Переменная var2 содержит значение переменной varl / 2: )без последующего символа перевода строки. Это означает, что очередные данные будут отображены в той же строке. Метод print () действует таким же образом, как и метод println (), за исключением того, что его выполнение не завершается переходом на следующую строку. Во второй строке методу println () в качестве параметра передается переменная var2. С помощью обоих методов, print () и println (), можно выводить на экран значения любого встроенного в Java типа данных.
Прежде чем переходить к изучению других аспектов Java, необходимо обратить внимание на следующую особенность: в одном операторе можно объявить две и более переменные. Для этого достаточно разделить их имена запятыми. Например, переменные varl и var2 можно объявить так, как показано ниже,int varl, var2; // обе переменные объявляются в одном оператореДругие типы данных
В предыдущем примере программы были использованы переменные типа int. Но они могут содержать только целые числа и не пригодны для хранения дробной части. Так, переменная типа int может содержать значение 18, но не 18,3. Но int — это лишь один из нескольких типов данных, определенных в Java. Для хранения чисел, содержащих дробную часть, в Java предусмотрены типы с плавающей точкой, float и double, которые представляют значения с одинарной и двойной точностью соответственно. Тип double используется чаще, чем float.

