Программирование на языке Java

Характеристика алфавита языка Java, а также таких его компонентов как литералы, комментарии и переменные. Описание выражений целого, действительного и логического типов. Анализ специфики ввода и вывода данных. Характеристика базовых структур языка.

Рубрика Программирование, компьютеры и кибернетика
Вид курс лекций
Язык русский
Дата добавления 15.09.2017
Размер файла 930,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

{ // перехват целочисленного деления на ноль

System.out.println("Ошибка: деление на ноль, " + eArithmetic);

}

catch (NumberFormatException eNumberFormat)

{ // перехват ошибки преобразования

System.out.println("Ошибка преобразования из строки в число, " + eNumberFormat);

}

System.out.println("В конце вызова z=" + z);

}

}

В этой программе eArithmetic - объект класса ArithmeticException - арифметические ошибки, eNumberFormat - объект класса NumberFormatException - некорректное преобразование строки в число.

При вводе корректного значения знаменателя, например, x=2.0, на консоль будет выведено:

x=2.0 z=1.5811388300841898 i=2

В конце вызова z=1.5811388300841898

Введем отрицательное значение знаменателя: x=-2.0:

x=-2.0 z=NaN i=-2

В конце вызова z=NaN

Таким образом, извлечение квадратного корня из отрицательного числа в Java разрешено и дает значение NaN (исключительная ситуация не возникает).

Введем нулевое значение знаменателя: x=0.0:

Ошибка: деление на ноль, java.lang.ArithmeticException: / by zero

В конце вызова z=Infinity

Таким образом, деление на ноль действительных чисел в Java разрешено и дает значение Infinity (исключительная ситуация не возникает). При делении на ноль целых чисел возникает исключительная ситуация, формируется объект-исключение eArithmetic, который и перехватывается блоком catch (ArithmeticException eArithmetic).

Введем некорректное значение знаменателя: x=0,0:

Ошибка преобразования из строки в число, java.lang.NumberFormatException: For input string: "0,0"

В конце вызова z=0.0

При этом формируется объект-исключение eNumberFormat, который перехватывается блоком catch (NumberFormatException eNumberFormat).

Во всех случаях после обработки исключительных ситуаций выполняется оператор, стоящий за всеми блоками catch (), в данном случае:

System.out.println("В конце вызова z=" + z);

Может случиться, что в блоке try возникла ошибка, но подходящего блока catch для ее обработки нет. В этом случае исключение выбрасывается из метода и передается внешнему (вызывающему его) методу. Согласно правилам языка Java, исключения, которые не обрабатываются в методе и выбрасываются из него, указываются в заголовке метода после ключевого слова throws. Правда, нужно указывать не все классы исключений, а только неконтролируемые. Исключение передается выше по иерархии методов, и, если обработка его ни в одном из методов не предусмотрена, то используется обработчик исключительной ситуации по умолчанию, что приводит к аварийному завершению работы программы.

Изменим предыдущую программу, вынеся деление в отдельный метод:

package javaapplicationtry;

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 попытка нарушения режима безопасности.

Размещено на Allbest.ru


Подобные документы

  • История создания языка Java. Основные принципы объектно-ориентированного программирования. Структура, особенности синтаксиса и примеры прикладных возможностей использования языка Java, его преимущества. Перспективы работы программистом на языке Java.

    курсовая работа [795,9 K], добавлен 14.12.2012

  • Понятие и общая характеристика языка программирования РНР, принципы и этапы его работы, синтаксис и ассоциируемые массивы. Обработка исключений в языке Java. Работа с базами данных с помощью JDBC. Изучение порядка разработки графического интерфейса.

    презентация [192,3 K], добавлен 13.06.2014

  • Программирование ввода-вывода на основе потоков в Java. Классы для работы с потоками символов. Характеристика базовых классов. Пример чтения сетевого ресурса. Коллекции как расширение возможностей массивов. Работа с ассоциативными массивами HashMap.

    лекция [630,1 K], добавлен 01.05.2014

  • Создание языка программирования с помощью приложения "Java". История названия и эмблемы Java. Обзор многообразия современных текстовых редакторов. Обработка строки. Методы в классе String. Java: задачи по обработке текста. Примеры программирования.

    курсовая работа [276,1 K], добавлен 19.07.2014

  • Кратка историческая справка развития языка Java. Анализ предметной области. Java platform, enterprise and standart edition. Апплеты, сервлеты, gui-приложения. Розработка программного кода, консольное приложение. Результаты работы апплета, сервлета.

    курсовая работа [549,2 K], добавлен 23.12.2015

  • Язык Java как простой, обьектно-ориентированный, многопоточный язык программирования, разработанный компанией Sun Microsystems для расширения возможностей сети Internet. Типы данных, лексика и управляющие структуры данного языка программирования.

    презентация [46,1 K], добавлен 25.04.2014

  • История развития языка программирования Java. История тетриса - культовой компьютерной игры, изобретённой в СССР. Правила проведения игры, особенности начисления очков. Создание интерфейса программы, ее реализация в среде Java, кодирование, тестирование.

    курсовая работа [168,1 K], добавлен 27.09.2013

  • Архитектура Java и Java RMI, их основные свойства, базовая система и элементы. Безопасность и виртуальная Java-машина. Интерфейс Java API. Пример использования приложения RMI. Работа с программой "Calculator". Универсальность, портативность платформ.

    курсовая работа [208,6 K], добавлен 03.12.2013

  • Описание и установка интегрированной среды разработки Eclipse. Описание языка Java. Описание классов и методов, пакетов, использованных в программе, сервера и клиента. Разработка руководства пользователя для клиента и сервера. Пример работы чата.

    курсовая работа [443,5 K], добавлен 18.05.2015

  • Динамическая инициализация объектов в Java с помощью зарезервированного слова new. Порядок вызовов при создании объекта. Порядок выполнения операторов при наличии блоков инициализации. Чтение и запись файлов в программе, иерархия классов ввода/вывода.

    контрольная работа [120,6 K], добавлен 07.06.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.