Использование переменных
Рассмотрим пример программы с использованием переменных.
В листинге 2.2 приведен программный код, в котором использовано несколько переменных.
Листинг 2.2. Использование переменных import javax.swing.*; public class UsingVar { public static void main(String[] args) { String name="Иванов Иван Иванович"; int age=60; char category='B'; String text="Водитель: "+name; text=text+"\n"+"Возраст: "+age+" лет"; text=text+’\n’+"Права категории: "+category; JOptionPane.showMessageDialog (null, text); } } |
В результате выполнения программы отображается диалоговое окно с информацией о некотором водителе: указывается его полное имя, возраст и категория водительских прав (рис. 2.4)
Рис. 2.4. Результат выполнения программы.
Описание листинга 2.2. Первой командой программы является инструкция import javax.swing.*;, которая заканчивается точкой с запятой (; - так заканчиваются все команды в Java) и состоит из двух частей: ключевого слова import и инструкции javax.swing.*. Ключевое слово import является инструкцией подключения классов и пакетов. Фактически наличие этой инструкции означает, что подключается какой-то ресурс, или, другими словами, библиотека. Просто в Java библиотеки реализуются через классы,объединенные в пакеты.Какой именно ресурс подключается, позволяет определить вторая часть команды. В данном случае диалоговое окно, которое отображается при выполнении программы, описано в библиотеке графических компонентов, которая называется Swing. Это название присутствует в инструкции javax.swing.*. В такого рода инструкциях указывается полный путь к подключаемым средствам. Путь отражает структуру пакетов Java (пакет может содержать классы, интерфейсыи другие пакеты). В качестве разделителя при указании структуры пакетов используется точка, а звездочка означает все классы в пакете. Поэтому инструкция import javax.swing.* означает не что иное, как подключение библиотеки Swing.
КомандойString name="Иванов Иван Иванович"; создается текстовая переменнаяname со значением"Иванов Иван Иванович". Целочисленная переменная age объявляется (инициализируется) командойint age=60 и содержит в качестве значения возраст водителя. Категория водительских прав - это всего одна буква. Для ее хранения можно использовать символьную переменную. Соответствующая переменная называется category,имеет тип char и получает значение 'В'. Все это реализуется командой char category='В'.
Текстовая (тип переменной String)переменная textнужна для того, чтобы записать в нее тот текст, который выводится в диалоговом окне. Значение переменной text определяется в несколько этапов. Сначала командой String text="Водитель: "+name; эта переменная объявляется и инициализируется со значением, которое получается объединением текста "Водитель: " и текстового значения переменной name.Обращаем внимание, что в данном случае при объявлении и инициализации переменной text ее значение определяется выражением, в которое входит другая переменная (текстовая переменная name). Такая ситуация (когда при объявлении переменной инициализация выполняется выражением, содержащим другие переменные) называется динамическим объявлением переменной. При динамическом объявлении переменной важно, чтобы другие используемые при инициализации переменные были предварительно объявлены и инициализированы. В данном случае это условие выполнено: ранее переменной name было присвоено текстовое значение "Иванов Иван Иванович". Поэтому в результате переменная text получает значение "Водитель: Иванов Иван Иванович". Здесь при объединении текста в первой фразе "Водитель: " специально в конце добавлен пробел, чтобы при слиянии текстов пробел был между соседними словами.
Значение, которое получила переменная text, не является ее конечным значением. В частности, командой text=text+"\n"+"Возраст: "+age+" лет"; к текущему значению переменной text дописывается символ перехода к новой строке "\n", фраза "Возраст : ", затем значение переменной age (хотя это целочисленная переменная, ее значение автоматически преобразуется к текстовому представлению) и, наконец, фраза " лет ". Таким образом, переменная text содержит уже две строки из трех, которые выводятся программой в диалоговом окне. Стоит заметить, что, хотя инструкция перехода к новой строке "\n" реализована в данном случае в виде текста и состоит, формально, из двух символов (косой черты \ и буквы n), инструкция эта все равно считается одним символом и поэтому вместо двойных кавычек можно использовать и одинарные, как в следующей команде text=text+’\n’+"Права категории: "+category;, которой к тексту в переменной text добавляется еще одна инструкция перехода к новой строке, фраза "Права категории: " и значение переменной category. После этого переменная text содержит в качестве значения тот текст (с учетом построчной разбивки), который требуется отобразить в диалоговом окне. Само окно отображается командой JOptionPane. showMessageDialog (null, text).В этой команде ссылка JOptionPane есть не что иное, как класс библиотеки Swing. Класс JOptionPane отвечает за работу с диалоговыми окнами. В частности с его помощью можно создавать и отображать диалоговые окна четырех типов:
· Диалоговые окна для вывода информационных сообщений.
· Диалоговые окна получения подтверждения на определенные действия от пользователя.
· Диалоговые окна получения (ввода) данных от пользователя.
· Диалоговые окна для выполнения настроек.
Именно для того, чтобы можно было использовать класс JOptionPane со всеми его утилитами, в начале программы и размещалась команда import javax. swing. *. Если бы мы не использовали класс JOptionPane, без указанной инструкции можно было обойтись.
У класса JOptionPane имеется статический метод showMessageDialog(), которым отображается диалоговое окно информационного типа, то есть окно для вывода информационного сообщения. Если вызывается статический метод класса, то правило его вызова такое: сначала указывается имя класса, и через точку имя метода с аргументами (если нужно). Метод showMessageDialog () допускает разный способ передачи аргументов. В данном случае методу передается два аргумента. Первым аргументом указано ключевое слово null. Вообще первый аргумент определяет, какое окно порождает отображаемое на экране диалоговое окно с сообщением. Ключевое слово null означает, что такого окна нет - диалоговое окно порождается не окном, а вызывается из метода main (). Вторым аргументом в метод showMessageDialog () передана текстовая переменная text.
В рассмотренном примере несколько раз использовались команды, в которых к тексту, кроме другого текста, прибавлялись значения типа int и char. В таких случаях имеет место автоматическое приведение типов. Суть его состоит в том, что операнды разных типов приводятся к одному типу. В данном случае все значения преобразуются в текст.
Дата добавления: 2015-02-13; просмотров: 794;