- •Содержание
- •Введение
- •1. Основные понятия языка Java иUml
- •Простое приложение
- •Простой апплет
- •Классы и объекты
- •Базовые типы данных
- •Операторы
- •If (obj instanceof java.Awt.Font) {/*операторы*/}
- •Операторы управления
- •UmLкак язык описания объектно-ориентированных программ
- •2. Библиотека стандартаJava_se Наследование
- •Использование super и this
- •Абстрактные классы и интерфейсы
- •Переопределение методов
- •Перегрузка методов
- •Полимофизм и расширяемость
- •Статические методы и полиморфизм
- •Внутренние (inner) классы
- •Вложенные классы (nested)
- •Анонимные классы
- •Использование библиотек классов Файлы. Потоки ввода/вывода
- •Обработка исключительных ситуаций
- •Коллекции
- •Графические интерфейсы пользователя
- •События и их обработка
- •Элементы управления
- •2. Библиотека стандартаJava_ee
- •ТехнологииJsp
Простое приложение
Рассмотрим простой пример:
// пример # 1 : простое приложение: First.java
public class First {
public static void main (String[] args) {
System.out.print("Первая программа на Java!");
}
}
Здесь класс First используется для того, чтобы определить метод main() который запускается автоматически интерпретаторомJava. Методmain()содержит аргументы-параметры командной строкиString[] args в виде масства строк и является открытым (public) членом класса. Это означает, что методmain()виден и доступен любому классу. Ключевое словоstaticобъявляет методы и переменные класса, используемые для работы с классом в целом, а не только с объектом класса. Символы верхнего и нижнего регистров здесь различаются.
Вывод строки "Первая программа на Java!"в примере осуществляет методprintln() (ln – переход к новой строке после вывода) свойстваoutклассаSystem,который включается в пакет автоматически вместе с пакетомjava.lang. Приведенную программу необходимо поместить в файл, имя которого совпадает с именем класса и с расширениемJava. Простейший способ компиляциивызов строчного компилятора:
javac First.java
При успешной компиляции создается файл First.class. Выполнить этот виртуальный код можно с помощью интерпретатора Java:
java First
Следующая программа отображает в окне консоли аргументы командной строки метода main().Аргументы представляют массив строк, разделенных пробелами, значения которых присваиваются объектам массиваString[] args. Объектуargs[0]присваивается значение первой строки и т.д. Количество аргументов определятся значениемargs.length.
/* пример # 2 : вывод аргументов командной строки : OutArgs.java */
public class OutArgs {
public static void main(String[] args) {
for (int j = 0; j < args.length; j++)
System.out.println("Аргумент #" + j + "-> " + args[j]);
}
}
Запуск этого приложения с помощью следующей командной строки:
java OutArgs 2008 argument-2 "Java string"
приведет к выводу на консоль следующей информации:
Аргумент #0-> 2008
Аргумент #1-> argument-2
Аргумент #2-> Java string
Аргументы командной строки могут быть использованы как один из способов ввода строковых данных.
В следующем примере рассматривается ввод строки из потока ввода, связанного с консолью.
// пример # 3: ввод строки с консоли: InputStr.java
importjava.io.*;
public class InputStr {
public static void main(String[] args) {
/* байтовый поток ввода System.inпередается конструктору при создании объекта класса InputStreamReader */
InputStreamReader is = new InputStreamReader (System.in);
/* производится буферизация данных, исключающая необходимость обращения к источнику данных при выполнении операции чтения */
BufferedReader bis = new BufferedReader(is);
try {
System.out.println("Введите Ваше имя и нажмите <Enter>:");
/*чтение строки из буфера; метод readLine() требует обработки возможной ошибки при вводе cконсоли в блокеtry*/
String name = bis.readLine();
System.out.println("Привет, " + name);
} catch (IOException e) {
System.out.print("ошибка ввода " + e);
}
}
}
Запуск этого приложения с последующим вводом строки Петров, приведет к выводу на консоль следующей информации:
Привет, Петров!
В этом примере использованы конструкторы и методы классов InputStreamReader и BufferedReader из библиотеки java.io, в частности метод readLine() для чтения строки из буфера, связанного с потоком вводаSystem.in. Подробности действий указанных классов будут рассмотрены в главе, посвященной потокам ввода/вывода.