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 руководство для начинающих - Шилдт Герберт читать онлайн бесплатно полную версию книги

Введите приведенный ниже метод run (), начинающий имитацию автоматизированного светофора.

// Запуск имитации автоматизированного светофора,

public void run () {

while(!stop) {

try {

switch(tic) {

case GREEN:

Thread.sleep(10000); // Зеленый на 10 секунд

break;

case YELLOW:

Thread.sleep(2000); // Желтый на 2 секунды

break;

case RED:

Thread.sleep(12000); // Красный на 12 секунд

break;

}

} catch(InterruptedException exc) {

System.out.println(exc);

}

changeColor();

}

}

Этот метод переключает цвета светофора по очереди. Сначала выполнение потока приостанавливается на заданный промежуток времени, который выбирается в зависимости от конкретного цвета светофора. Затем вызывается метод changeColor (), переключающий цвет светофора.

Введите приведенный ниже метод changeColor (), переключающий цвет светофора.

// Переключение цвета светофора,

synchronized void changeColor() {

switch(tic) {

case RED:

tic = TrafficLightColor.GREEN;

break;

case YELLOW:

tic = TrafficLightColor.RED;

break;

case GREEN:

tic = TrafficLightColor.YELLOW;

}

changed = true;

notify(); // уведомить о переключении цвета светофора

}

В операторе switch проверяются сведения о цвете светофора, хранящиеся в переменной tic, после чего этой переменной присваивается другой цвет. Обратите внимание на то, что этот метод синхронизирован. Это необходимо потому, что он вызывает метод notify (), уведомляющий о смене цвета. (Напомним, что обратиться к методу notify () можно только из синхронизированного контекста.)

Далее введите метод wait For Change (), ожидающий переключения цвета светофора. // Ожидание переключения цвета светофора,

synchronized void waitForChange() {

try {

while(!changed)

wait(); // ожидать переключения цвета светофора

changed = false;

} catch(InterruptedException exc) {

System.out.println(exc);

}

}

Действие этого метода ограничивается вызовом метода wait (). Возврат из него не произойдет до тех пор, пока в методе changeColor () не будет вызван метод notify (). Следовательно, метод waitForChange () не завершится до переключения цвета светофора.

И наконец, введите метод getColor (), возвращающий текущий цвет светофора, а вслед за ним — метод cancel (), останавливающий имитацию светофора, присваивая переменной stop логическое значение true. Ниже приведен исходный код обоих методов.

// Возврат текущего цвета.

TrafficLightColor getColor() {

return tic;

}

// Прекращение имитации светофора.

void cancel () {

stop = true;

}

Ниже приведен весь исходный код программы, имитирующей автоматизированный светофор с помощью перечисления.

// Пример для опробования 12.1.

// Имитация автоматизированного светофора с помощью

// перечисления, описывающего переключаемые цвета светофора.

// Перечисление, представляющее состояния светофора,

enum TrafficLightColor {

RED, GREEN, YELLOW

}

// Имитация автоматизированного светофора,

class TrafficLightSimulator implements Runnable {

private Thread thrd; // Поток для имитации светофора

private TrafficLightColor tic; // Текущий цвет светофора

boolean stop = false; // Остановка имитации, если истинно

boolean changed = false; // Переключение светофора, если истинно

TrafficLightSimulator(TrafficLightColor init) {

tic = init;

thrd = new Thread(this);

thrd.start();

}

TrafficLightSimulator() {

tic = TrafficLightColor.RED;

thrd = new Thread(this);

thrd.start();

}

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