- •Иркутский государственный университет путей сообщения кафедра “информатика” программирование на языке java
- •Иркутск
- •Содержание
- •Предисловие
- •Алфавит языка
- •Ключевые слова
- •Типы данных
- •Литералы (константы)
- •Комментарии
- •Переменные
- •Математические функции
- •Выражения
- •Выражения целого типа
- •Примеры записи выражений целого типа:
- •Примеры вычислений выражений целого типа:
- •Выражения действительного типа
- •Примеры записи выражений действительного типа
- •Примеры вычислений выражений действительного типа:
- •Выражения логического типа
- •Операторы присваивания
- •Variable имяПеременной might not have been initialized
- •Примеры записи операторов присваивания:
- •Ввод и вывод данных
- •Ввод и вывод с помощью диалоговых окон
- •Import javax.Swing.*;
- •Консольный вывод
- •Консольный ввод с помощью класса Scanner
- •Import java.Util.*; //импорт пакета
- •Структура программы
- •Import javax.Swing.*;
- •Import java.Util.*;
- •Алгоритм и его свойства
- •Схемы алгоритмов
- •Пример записи алгоритма:
- •Базовые структуры
- •Цепочка
- •Ветвления
- •Альтернатива
- •If (условие)
- •Вариант 2 – с использованием операции конъюнкции
- •Import javax.Swing.*;
- •Int c, y1, y2, kl, day, month, year;
- •Часто встречающиеся ошибки программирования:
- •Import javax.Swing.*;
- •Переключатель
- •Int month;
- •Часто встречающиеся ошибки программирования:
- •Бесконечные циклы
- •Циклы с предусловием
- •Программа
- •Программа
- •Часто встречающиеся ошибки программирования:
- •Циклы с постусловием
- •Программа
- •Int month;
- •Циклы с параметром
- •Действия цикла:
- •Операторы прерывания break, continue, return, System.Exit
- •Структуры данных
- •Массивы
- •Import javax.Swing.*;
- •Import java.Util.*;
- •Int n, m, matrMin, matrMax;
- •Import javax.Swing.*;
- •Import java.Util.*;
- •Int n, vectorMin, vectorMax, temp;
- •VectorMin, vectorMax, n);
- •Import javax.Swing.*;
- •Import java.Util.*;
- •Int n, vectorMin, vectorMax, temp;
- •VectorMin, vectorMax, n);
- •Методы для работы с массивами
- •Класс String
- •Методы для работы со строками класса String
- •Класс StringBuffer
- •Методы для работы со строками класса StringBuffer
- •Import java.Io.*;
- •Import javax.Swing.*;
- •Import java.Io.*;
- •Import javax.Swing.*;
- •Обработка исключительных ситуаций
- •If (переменная name вышла за диапазон)
- •Import java.Io.*;
- •Import javax.Swing.*;
- •Import java.Io.*;
- •Import javax.Swing.*;
Import java.Io.*;
Import javax.Swing.*;
public class JavaApplicationTry
{
private static int delenie(int a, int b) // метод с делением
{
return a/b;
}
public static void main(String[] args) throws IOException
{
double x, y=5.0, z=0;
int i;
String input;
input=JOptionPane.showInputDialog("Введите значение знаменателя:");
try
{
x=Double.parseDouble(input); //преобразование типов
z=Math.sqrt(y/x); // извлечение квадратного корня
i=delenie((int)y,(int)x); // целочисленное деление
System.out.println("x=" + x + " z=" + z + " i=" + i);
}
catch (ArithmeticException eArithmetic)
{ // перехват целочисленного деления на ноль
System.out.println("Ошибка: деление на ноль, " + eArithmetic);
}
catch (NumberFormatException eNumberFormat)
{ // перехват ошибки преобразования
System.out.println("Ошибка преобразования из строки в число, " + eNumberFormat);
}
System.out.println("В конце вызова z=" + z);
}
}
В этом случае ошибка деления на ноль в методеdelenie()не обрабатывается, а выбрасывается в вызвавший его методmain(),где и перехватывается соответствующим блокомcatch().Неконтролируемое исключение классаArithmeticExceptionненужноуказывать в заголовке методаdelenie().
ВJavaсуществует целая иерархия классов, предназначенных для обработки исключительных ситуаций. В вершине этой иерархии находится суперклассThrowable(отthrow able– способный возбудить). ОтThrowable наследуются классыError(ошибка) иException(исключение). Объекты классаError-неконтролируемые(непроверяемые) исключения, которые невозможно перехватить в блокахcatch. Такие исключения представляютфатальныеошибки, после которых нормальная работа программы невозможна, например, переполнение стека. Объекты классаException –контролируемыеисключения. У этого класса есть подкласснеконтролируемыхисключенийRuntineException–ошибок времени выполненияпрограммы, которые, однако, перехватываются программами пользователя. Исключения для этого класса определяются автоматически. Подклассы классаRuntineExceptionне нужно декларировать в заголовке методов после словаthrows.Наиболее распространенные из них:
ArithmeticExceptionошибка, связанная с выполнением арифметических операций, например, деление на нольцелыхчисел,
IndexOutOfBoundsException индекс элемента вышел за пределы допустимого диапазона:
ArrayIndexOutOfBoundsException при обращении к массиву,
StringIndexOutOfBoundsException при обращении к строке,
ArrayStoreExceptionприсваивание элементу массива значения несовместимого типа,
ClassCastException приведение несовместимых типов,
IllegalArgumentExceptionпередача методу недопустимого аргумента,
IllegalStateExceptionприложение не готово к вызову,
NegativeArraySizeExceptionпопытка создания массива отрицательной длины,
NullPointerExceptionпопытка обращения к объекту, содержащему пустую ссылкуnull,
NumberFormatExceptionнеудачная попытка преобразования строки в число,
SecurityExceptionпопытка нарушения режима безопасности.