- •Краткая историческая справка.
- •Преимущества языка Java.
- •Недостатки java:
- •Лекция 2. Этапы разработки java-приложений. Этапы разработки java-приложений.
- •Установка jdk.
- •Инсталляция исходных кодов библиотек
- •Инсталляция пакета документации.
- •Тестирование правильности установки и создание простейшей программы
- •Визуальные среды программирования.
- •Лекция 3. Переменные и типы данных. Переменные и типы данных.
- •Подробности о примитивных типах.
- •Лекция 4. Операторы и функции. Операторы и функции.
- •Операторы ветвлений и циклов.
- •Оператор цикла while.
- •Оператор цикла for.
- •Лекция 5. Объектно ориентированное программирование Объектно ориентированное программирование.
- •Определение объекта.
- •Инкапсуляция.
- •Наследование.
- •Полиморфизм (перегрузка).
- •Пример ооп – программы.
- •Отличие перегрузки функций от переопределения.
- •Отличие классов от интерфейсов.
- •Лекция 6. Массивы и строки. Массивы и строки.
- •Многомерные массивы.
- •Приведение типов и динамические массивы.
- •Строки в java.
- •Лекция 7. Организация ввода-вывода данных Организация ввода-вывода данных.
- •Функции стандартной библиотеки ввода/вывода.
- •Новая библиотека ввода/вывода.
- •Классы потокового ввода/вывода из пакета java.Io.
- •Лекция 8. Обработка исключений. Обработка исключений.
- •Классификация исключений.
- •Перехват исключений блоками try/catch.
- •Самостоятельное выбрасывание исключений.
- •Разработка собственных классов исключений.
- •Лекция 9. Потоки. Потоки.
- •1. Cпециальный класс Thread.
- •2. Реализация интерфейса Runnable.
- •Выбор между использованием класса Thread и интерфейса Runnable.
- •Синхронизация потоков с помощью оператора synchronized.
- •Синхронизация потоков с помощью семафоров.
- •Лекция 10. Подключаемые библиотеки java. Подключаемые библиотеки java.
- •Библиотека awt
- •Внутреннее устройство системы обработки событий awt.
- •Библиотека Swing.
Операторы ветвлений и циклов.
Оператор выбора if, в java имеет следующий вид:
if (условие) {
оператор(-ры);
}
Фигурные скобки являются необязательными, если оператор всего один. В этом случае вся конструкция принимает вид:
if (условие) оператор;
Рекомендую всегда пользоваться скобками, даже если оператор всего один, так как это значительно улучшает читаемость кода.
Распространенный во многих языках программирования, оператор «case», в java с успехом заменяется конструкцией:
if (условие1) { оператор(-ры); }
else if (условие2) { оператор(-ры); }
else if (условие3) { оператор(-ры); }
…
else { оператор(-ры); }
Оператор множественного выбора switch моло чем отличается от аналогичного оператора в других языках:
switch(ВыражениеДляСравнения) {
case Совпадение1:
команда;
break;
case Совпадение2:
команда;
break;
case Совпадение3:
команда;
break;
default:
оператор;
break;
}
Пример:
switch (month) {
case 1: monthString = "Январь";
break;
case 2: monthString = "Февраль";
break;
case 3: monthString = "Март";
break;
case 4: monthString = "Апрель";
break;
case 5: monthString = "Май";
break;
case 6: monthString = "Июнь";
break;
case 7: monthString = "Июль";
break;
case 8: monthString = "Август";
break;
case 9: monthString = "Сентябрь";
break;
case 10: monthString = "Октябрь";
break;
case 11: monthString = "Ноябрь";
break;
case 12: monthString = "Декабрь";
break;
default: monthString = "Не знаем такого";
break;
}
Операторы цикла в java бывают нескольких видов.
Оператор цикла while.
Имеет следующий вид:
while (условие) { оператор(-ры); }
В этом случае вначале вычисляется условие. Если его результат «true», то следом выполняется блок операторов. Существует разновидность цикла while, в которой блок операторов выполняется в любом случае, хотя бы один раз, даже если условие изначально является ложным.
do { оператор(-ры); } while (условие);
Вариант бесконечного цикла while:
while(true) оператор;
Оператор цикла for.
Существует классическая разновидность цикла:
for (выражение1; условие; выражение2)
Пример:
for (int i= 1; i<10; i++) { оператор(-ры); }
Однако общий синтаксис такой:
for (СписокВыражений1; условие; СписокВыражений2) { оператор(-ры); }
Это позволяет производить в одном цикле перебор по нескольким различным переменным, с различным шагом, например, так:
for(int x = 1, y = 3; x < 10; x++, y = y + 2 ) {
System.out.println("y="+ y);
}
Вариант бесконечного цикла for:
for ( ; ; )
В случае бесконечных циклов необходимо внутри тела цикла предусмотреть условие выхода из него, иначе программа зависнет. В этом случае пригодятся общие для всех циклов операторы управления циклами. Их всего два:
сontinue; // переход на следующую итерацию
break; // прекращение выполнения цикла
Начиная с java SE 5.0 был добавлен очень удобный вариант цикла for, который может использоваться для перебора каких-либо итерируемых объектов, например тех же массивов, в случае, если размер этих массивов нам заранее не известен. Синтаксис у этого цикла такой:
for (переменная : некий_объект) { оператор(-ры); }
Например, рассмотрим заполнение массива числами от 1 до 10 и перебор его в цикле for-each:
int[] m = new int[10];
for (int i = 0; i<10; i++) m[i] = i; // заполнение массива
for (int elem : m)
System.out.println(elem);
Кстати, перебор массива без начального знания его размера можно произвести и традиционным циклом for:
for (int i = 0; m < m.length; i++)
System.out.println(m[i]);
Здесь сказывается преимущество полностью объектного кода java. Массив в java – это не просто кусок выделенной памяти с данными, как во многих других языках. Это тоже некий объект, содержащий в себе некоторый набор свойств, одним из которых всегда является его длина length. Преимущество записи цикла for-each, таким образом заключается просто в большей компактности.
