Вы находитесь на странице: 1из 28

Введение.

Основы языка
Java Write Once, Run Anywhere

 Java - это объектно-ориентированный язык


 Java технология
 Текущая версия Java 8 (Update 60) (18 августа 2015)
Особенности Java
 Архитектурная независимость и переносимость
кода
 Устойчивость (надежность) кода
 Сборка мусора
 Строгая типизация
 Множественное наследование
 Поддержка многопоточности
 ...
Средства разработки
 Java Software Development Kit (JDK)
 JRE (Java Runtime Environment). JRE – виртуальная
машина и библиотека классов.
 дополнительные программы и утилиты, в частности
компилятор Java - javac
 RAD – средства разработки
 NetBeans (open source project)
 Eclipse (open source project)
 IntelliJ IDEA (JetBrains)
…
Виртуальная Java-машина, байт-код
 Java Virtual Machine (JVM)
— виртуальная машина Java
— основная часть
исполняющей системы Java,
так называемой Java
Runtime Environment (JRE)
 Виртуальная машина Java
исполняет байт-код Java,
предварительно созданный
из исходного текста Java-
программы компилятором
Java (javac)
Hello World
package
 В Java предусмотрено средство группировки классов — пакеты (package).
 Пакеты обеспечивают независимые пространства имен, а также
ограничение доступа к классам.
 Классы всегда задают в каком либо пакете. Пакеты могут быть
вложенными с произвольным уровнем вложения. Каждому пакету
сопоставлена папка с исходными кодами соответствующих классов.
 Для того чтобы поместить класс в пакет, требуется продекларировать имя
пакета в начале файла.
package имя_пакета;
Если декларация пакета отсутствует, считается, что класс принадлежит
пакету с именем default.
 Вложенным пакетам соответствуют составные имена, где разделителем
является точка.
В Java предлагается методика, гарантирующая отсутствие совпадений имен пакетов — предлагается давать
пакетам имена, совпадающие с доменными WWW-адресами, но записанными в обратном порядке. Например,
web.vk.edu.ee – ee.edu.vk.web.username
Типы данных
 Java — строго типизированный язык
 Примитивные типы:
 целочисленные: byte, short, int, long, char;
 типы данных в формате с плавающей точкой float,
double;
 булевый тип boolean.
 Ссылочные типы Java используются в объектном
программировании — строки, файлы, элементы
пользовательского интерфейса, пользовательские
типы (классы).
Преобразование типов
 Неявное
 Оба типа совместимы
 Длина целевого типа больше или равна длине исходного
типа

Сплошные линии без потери данных, штриховые - может произойти потеря точности

 Явное
 Указывается (type) перед типом
Пример - DataTypes
Вывод на консоль
 System.out.print(…), System.out.println(…)
 Форматированный вывод
 System.out.format(String format, Object... args)
System.out.printf(String format, Object... args)
 Конвертеры: d - Десятичное целое, f – Float, s – Строка, , с –
Символ, x - Вывода шестнадцатеричных чисел, е - Вывод чисел в
экспоненциальной форме, n - Символ новой строки
 Флаги: Например, 08 - Восемь символов с ведущими нулями при
необходимости, .3 - Три символа после запятой, 10.3 - Десять
символов и три — после,
- выравнивание по левому краю
 System.out.printf(Locale l, String format, Object... args)
System.out.format(Locale l, String format, Object... args)
Пример ConsoleOutput
Ввод данных
 класс Scanner
 next(): считывает введенную строку до первого пробела
 nextLine(): считывает всю введенную строку
 nextXXX(): считывает данные определенного типа
 hasNext(): проверяет, было ли введено слово
 hasNextXXX(): проверяет, было ли введены данные
определенного типа
 Class Console (работает в консоли – cmd.exe)
 Class BufferedReader
Пример - InputData
Преобразование String в int/double…
1. конструктор
2. метод valueOf
3. метод parseXXX класса XXX
Задание
 Дано значение температуры T в градусах Цельсия.
Определить значение этои же температуры по
Фаренгейту. Температура по Цельсию TC и
температура по Фаренгейту TF связаны следующим
соотношением: TC = (TF – 32)·5/9
 Пользователь вводит трехзначное число. Найдите:
 Число единиц, десятков.
 Сумму цифр
 Для решения можно использовать арифметический
оператор % - остаток от деления
Оператор условия
&& and
|| or
! not

Тернарный оператор
Пример OperatorIF
Оператор switch case
 Типы данных: byte, short, char, int, enum, String
Пример OperatorSwitch
Пользователь узнает сколько дней в
указанном месяце определенного года
Операторы цикла
 В Java существует 3 оператора цикла: for, while, do-
while
 for(initialization; termination; increment) {…}
 while (expression){…}
 do {…} while (expression);
 foreach - for для перебора элементов коллекций
for (type variable: Collection){}
 Оператор break завершает последовательность
операторов в операторе switch, выход из цикла
 Оператор continue начинает следующий проход
цикла, минуя оставшееся тело цикла (for или while)
Пример OperatorLoop
На экране распечатываются простые числа от 1 до
указанного числа
Enum
 Тип enum — это тип, поля которого состоят из набора
некоторых констант
 enum может иметь конструкторы, методы и
переменные экземпляра
 Методы:
 values() возвращает массив, содержащий список
констант перечисления
 valueOf() возвращает константу перечисления, значение
которой соответствует строке, переданной в параметре
 ordinal() - позиция константы в списке
 ...
Пример EnumExample
Random
 Класс java.util.Random представляет собой
генератор псевдослучайных чисел
 Метод nextXXX - возвращает случайное значение
определенного типа
Задание
 В восточном календаре принят 60-летний цикл, состоящий из 12-
летних подциклов, обозначаемых названиями цвета: зеленый,
красный, желтый, белый и черный. В каждом подцикле годы носят
названия животных: крысы, коровы, тигра, зайца, дракона, змеи,
лошади, овцы, обезьяны, курицы, собаки и свиньи. По номеру года
определить его название, если 1984 год — начало цикла: «год
зеленой крысы».
 Создайте программу-тест для проверки знаний таблицы
умножения. С помощью случайных чисел создайте 5 примеров.
При правильном ответе — на экране пишется Правильно зеленым
цветом, при неправильном — Ошибка красным цветом. Также
программа в зависимости от результата прохождения тест должна
выставить оценку прохождения теста: если количество
правильных ответов=5, то Молодец, 3 или 4, то Надо бы еще
поучить, меньше 2 — Срочно нужно учить таблицу умножения.
?
Спасибо за внимание!