- •Java - объектно-ориентированный язык
- •Виртуальная Java-машина.
- •Алфавит языка Java
- •Типы данных
- •Числа высокой точности
- •Переменные в Java
- •Объявление переменной
- •Область действия и время жизни переменной
- •Операции в Java
- •Арифметические операции
- •Логические операции
- •Побитовые операции
- •Операции сдвига
- •Тернарный оператор ?:
- •Оператор запятая
- •Одномерные массивы
- •Многомерные массивы
- •Функции
- •Класс Поля и методы
- •Модификаторы доступа
- •Инициализация и очистка
- •Перегрузка методов
- •Ключевое слово this
- •Вызов конструктора из конструктора
- •Использование объектов в качестве параметров
- •Ключевое слово static
- •Спецификатор final
- •Вложенные и внутренние классы
- •Сборщик «мусора»
- •Как работает сборщик мусора
- •Наследование
- •Основы наследования
- •Использование ключевого слова super
- •Использование super для вызова конструктора суперкласса
- •Использование super для доступа к скрытым членам суперкласса
- •Конструкторы при наследовании
- •Динамическая диспетчеризация методов
- •Абстрактные классы
- •Использование final с наследованием
- •Использование final для отказа от переопределения
- •Использование final для отмены наследования
- •Класс Object
- •Пакеты и интерфейсы Пакеты
- •Оператор package
- •Оператор import
- •Уровни доступа.
- •Интерфейсы
- •Оператор implements
- •Частичные реализации
- •“Множественное” наследование в Java
- •Конфликты имен при комбинировании интерфейсов
- •Расширение интерфейса
- •Группировка констант
- •Инициализирование полей в интерфейсах
- •Вложенные интерфейсы
- •Стандартный ввод/вывод
- •Чтение из стандартного ввода
- •Замена System.Out на PrintWriter
- •Первое приложение Java
- •Исключительные ситуации. Обработка исключений
- •Типы исключений
Стандартный ввод/вывод
Ввод программы может вестись через стандартный ввод, вывод может идти в стандартный вывод, а сообщения об ошибках могут посылаться в стандартный поток ошибок. Значение стандартного ввода/вывода в том, что программы легко могут представлять цепочку вместе, и стандартный вывод одной программы может стать стандартным вводом для другой. Это достаточно мощный инструмент.
Чтение из стандартного ввода
Стандартная модель ввода/вывода в Java имеет System.in, System.out и System.err. Выше для записи в стандартный вывод, использовался System.out, который представляет собой объект PrintStream. System.err аналогичен PrintStream, а System.in является производной InputStream без каких-либо включений. Это означает, что в отличие от System.out и System.err, System.in должен куда-то включаться (быть обернут), прежде, чем можно прочесть из него.
Обычно выполняется построчный ввод, используя readLine( ), для этого надо поместить System.in в BufferedReader. Чтобы сделать это, можно конвертировать System.in в Reader, используя InputStreamReader. Вот пример, который просто повторяет каждую вводимую строку:
// чтение из стандартного ввода.
import java.io.*;
public class Demo {
public static void main(String[] args)
throws IOException {
BufferedReader in=new BufferedReader(
new InputStreamReader(System.in));
String s;
while((s = in.readLine()).length() != 0)
System.out.println(s);
// Пустая строка прерывает выполнение программы
}
} ///:~
Причина указания исключения в том, что readLine( ) может выбросить IOException. Обратите внимание, что System.in обычно должен быть буферизирован, как и большинство потоков.
Замена System.Out на PrintWriter
System.out - это PrintStream, который является OutputStream. PrintWriter имеет конструктор, который принимает в качестве аргумента OutputStream. Таким образом, если вы хотите конвертировать System.out в PrintWriter, используйте этот конструктор:
// Перевод System.out в PrintWriter.
import java.io.*;
public class ChangeSystemOut {
public static void main(String[] args) {
PrintWriter out =
new PrintWriter(System.out, true);
out.println("Hello, world");
}
} ///:~
Важно использовать двухаргументную версию конструктора PrintWriter и установить второй аргумент в true, чтобы позволить автоматическое освобождение буфера, в противном случае вы можете не увидеть вывода.
Первое приложение Java
Приложение Java может выполняться под управлением специального интерпретатора, работающего в рамках отдельного процесса, либо под управлением браузера. В первом случае мы имеем дело с автономным приложением Java, в втором - с аплетом.
Изучение программирования на Java начнем с создания простейшего автономного приложения. Далее рассмотрим, как сделать аплет и встроить его в документ HTML.
Исключительные ситуации. Обработка исключений
Исключительные ситуации - это аварийные ситуации, которые могут возникнуть во время выполнения программы. В Java исключительные ситуации могут генерироваться либо исполнительной системой JAVA (некоторые фундаментальные ошибки), либо программным кодом «вручную». При возникновении исключения, оно должно быть захвачено обработчиком определенным в программе, или обработчиком по-умолчанию. В последнем случае выдается сообщение, описывающее исключение, формируется определенная дополнительная информация (трасса стека от точки где произошло исключения) и программа завершается. Если это нежелательно, то необходимо предусмотреть обработку. Обработка исключений реализуется через создание объекта, представляющего исключение, который «вбрасывается» в метод, вызвавший ошибку. Механизм обработки исключений управляется с помощью ключевых слов: try, catch, throw, throws, finally. Ключевое слово try используется для выделения блока, в который заключается контролируемая часть кода. Слово catch определяет соответствующий обработчик для возникшего исключения. Код который должен быть обязательно выполнен перед выходом из блока try помещается в блок finally. Общая структура блока обработки исключения приведена ниже:
try { // фрагмент кода программы, в котором в котором возможно
// возникновение аварийной ситуации
}
catch (имя _класса-исключения_1 имя объекта_1){
// обработка исключений для имя _класса_исключение 1
}
catch (имя класса_исключения_2 имя объекта_2){
//обработчик исключений для имя класса_исключения_2 }
[finally {
//блок кода обработки перед выходом из try
}].
Исключения могут вырабатываться как системой Java, так и программа, при помощи throw, сама может вызвать исключительную ситуацию (ручной выброс исключения). Слово throws используется для определения возможных исключений, которые метод может создать, но не обрабатывает.