Knigionline.co » Программное обеспечение » Java руководство для начинающих

Java руководство для начинающих - Шилдт Герберт (2012)

Java руководство для начинающих
  • Год:
    2012
  • Название:
    Java руководство для начинающих
  • Автор:
  • Жанр:
  • Оригинал:
    Английский
  • Язык:
    Русский
  • Издательство:
    Вильямс
  • Страниц:
    316
  • ISBN:
    978-5-8459-1770-6
  • Рейтинг:
    4.3 (4 голос)
  • Ваша оценка:
"Java: руководство для начинающих", автором которого является Герберт Шилдт, а также на его счету популярные по всему миру книги по языкам программирования, таким образом, чтобы у читателя получилось быстро освоить основные навыки программирования на Java. Полностью обновленное по версии Java Platform, Standard Edition 7, пятое издание этого учебного пособия начинается с обзора самых простейших основ, не исключая выполнение простых программ на Java и компилирование. Далее в нем описаны синтаксические конструкции и ключевые слова составляющие основу Java как языка программирования. Затем следует изложение наиболее передовых языковых средств Java, включая многопоточное и обобщенное программирование. Книга завершается введением в библиотеку Swing. Использованный в книге справочный и учебный материал позволяет читателю быстро и легко освоить основы программирования на Java. В целях упрощения процесса изучения Java, учебник построен следующим образом: - Базовые понятия и навыки. Все главы начинаются с перечня базовых понятий и навыков, которые будет необходимо усвоить читателю. - Обращение к знатоку. Во врезках под этим заголовком даны полезные рекомендации в форме вопрос-ответ. - Примеры для опробования. Это примеры небольших проектов, наглядно показывающие, как применять полученные навыки и знания на практике. - Упражнения для самопроверки. В конце каждой главы присутствуют контрольные вопросы и задания для проверки прочности изученного материала. - Подробные комментарии к примерам программ. Все примеры программ в этом учебном пособии снабжены подробными комментариями, которые описывают приемы программирования Java и демонстрируемые языковые средства.

Java руководство для начинающих - Шилдт Герберт читать онлайн бесплатно полную версию книги

В отношении подклассов следует отметить еще одну интересную особенность применения нескольких операторов catch: условие перехвата исключений для суперкласса будет справедливо и для любых его подклассов. Например, класс Throwable является суперклассом для всех исключений, поэтому для перехвата всех возможных исключений в операторах catch следует указывать тип Throwable. Если же требуется перехватывать исключения типа суперкласса и типа подкласса, то в блоке операторов первым должен быть указан тип исключения, генерируемого подклассом. В противном случае вместе с исключением типа суперкласса будут перехвачены и все исключения производных от него классов. Это правило соблюдается автоматически, и если указать первым тип исключения, генерируемого суперклассом, то будет создан недостижимый код, поскольку условие перехвата исключения, генерируемого подклассом, никогда не будет выполнено. А ведь недостижимый код в Java считается ошибкой.

Рассмотрим в качестве примера следующую программу

//В операторах catch исключения типа подкласса должны

// предшествовать исключениям типа суперкласса,

class ExcDemo5 {

public static void main(String args[]) {

// Здесь массив numer длиннее массива denom.

int numer[] = { 4, 8, 16, 32, 64, 128, 256, 512 };

int denom[] = { 2, 0, 4, 4, 0, 8 };

for(int i=0; icnumer.length; i++) {

try {

System.out.println(numer[i] + " / " +

denom[i] + " is " +

numer[i]/denom[i]);

}

// Перехват исключения от подкласса.

catch (ArraylndexOutOfBoundsException exc) {

System.out.println("No matching element found.");

}

// Перехват исключения от суперкласса.

catch (Throwable exc) {

System.out.println("Some exception occurred.");

}

}

}

}

Ниже приведен результат выполнения данной программы.

4 / 2 is 2

Some exception occurred.

16 / 4 is 4

32 / 4 is 8

Some exception occurred.

128 / 8 is 16

No matching element found.

No matching element found.

В данном случае оператор catch (Throwable) перехватывает все исключения, кроме ArraylndexOutOfBoundsException. Соблюдение правильного порядка следования операторов catch приобретает особое значение в том случае, когда исключения генерируются в самой программе.

Вложенные блоки try

Блоки try могут быть вложенными друг в друга. Исключение, возникшее во внутреннем блоке try и не перехваченное связанным с ним блоком catch, распростра¬няется далее во внешний блок try и обрабатывается связанным с ним блоком catch. Такой порядок обработки исключений демонстрируется в приведенном ниже примере программы, где исключение ArraylndexOutOfBoundsException не перехватывается во внутреннем блоке catch, но обрабатывается во внешнем.

// Применение вложенных блоков try.

class NestTrys {

public static void main(String args[]) {

// Массив numer длиннее, чем массив denom.

int numer[] = { 4, 8, 16, 32, 64, 128, 256, 512 };

int denom[] = { 2, 0, 4, 4, 0, 8 };

// Вложенные блоки try.

try { // Внешний блок try.

for(int i=0; i<numer.length; i++) {

try { // Внутренний блок try.

System.out.println(numer[i] + " / " +

denom[i] + " is " +

numer[i]/denom[i]) ;

}

catch (ArithmeticException exc) {

// перехватить исключение

System.out.println("Can't divide by Zero!");

}

}

}

catch (ArraylndexOutOfBoundsException exc) {

// перехватить исключение

System.out.println("No matching element found.");

System.out.println("Fatal error - program terminated.");

}

}

}

Выполнение этой программы может дать, например, следующий результат:

4 / 2 is 2

Can't divide by Zero!

16 / 4 is 4

32 / 4 is 8

Can't divide by Zero!

128 / 8 is 16

Перейти
Наш сайт автоматически запоминает страницу, где вы остановились, вы можете продолжить чтение в любой момент
Оставить комментарий