Ввод и вывод данных. Логические операции
2.08M
Category: programmingprogramming

Ввод и вывод данных. Логические операции

1. Ввод и вывод данных. Логические операции

Рожков Константин Олегович
Инженер-программист в «Диасофт»

2.

Вывод данных в Java
Для того чтобы выводить любые данные в консоль, нужно
использовать специальный метод, который уже есть в
стандартной библиотеке Java — System.out.println.
В качестве аргумента метод принимает
произвольное значение для вывода в консоль.
2

3.

Вывод данных в Java
Такой вывод не всегда удобен и понятен, поэтому принято
дополнительно выводить более подробную информацию.
Выведем саму операцию в консоль:
3

4.

Вывод данных в Java
println – вывод в консоль с переходом на новую строку
print – вывод без перехода на новую строку
4

5.

Вывод данных в Java
В Java класс System.out.printf используется для
форматированного вывода данных на консоль.
Этот метод позволяет контролировать формат вывода,
включая количество знаков после запятой, выравнивание
и дополнительные форматирование.
printf не переносит курсор на следующую строку
5

6.

Вывод данных в Java
%d используется для вывода целых чисел
то же самое можно получить если использовать оператор +
6

7.

Вывод данных в Java
%f используется для вывода чисел с плавающей точкой
Есть возможность выводить определенное количество
знаков после запятой
7

8.

Вывод данных в Java
%s используется для вывода строк
Можно использовать несколько переменных
8

9.

Вывод данных в Java
%c используется для вывода символов.
9

10.

Вывод данных в Java
%n используется для добавления символа новой строки
как альтернатива, можно добавить перенос строки \n в println
Или дважды вызвать System.out.println
10

11.

Практика
Используя форматированный вывод написать письмо:
Уважаемый «имя»,
Поздравляем вас с успешным завершением проекта! Ваш
рейтинг составляет «дробное число». Вы отлично
справились со своими обязанностями как «профессия».
Желаем вам дальнейших успехов в вашей карьере в городе
«город».
11

12.

Чтение данных из консоли
Чтобы запросить данные у пользователя из консоли, в
JDK разработан специальный класс — java.util.Scanner
Этот класс умеет считывать данные построчно, а также
считывать значения разделенные по умолчанию пробелом
(можно заменить на другой разделитель).
12

13.

Почему java.util.Scanner такое длинное
название?
java.util — имя пакета (папки, каталога, где размещен класс Scanner);
Scanner — имя класса
Пакет (package) в Java позволяет разделять типы/классы между
библиотеками.
Можно перейти к пакету, если нажать на Scanner + control (command
на Mac)
13

14.

Почему java.util.Scanner такое длинное
название?
java.util.Scanner — такое длинное объявление типа допустимо, но
на практике, следуя конвенции общепринятого стиля разработки, а
также более удобного написания кода и его чтения был разработан
оператор import.
Оператор import позволяет сокращать имена типов, добавленных в
код
программы из внешней библиотеки классов. Для всех типов, не
входящих в библиотеку java.lang, нужно писать полное имя или
использовать import.
14

15.

Почему тип java.util.Scanner имеет такое
длинное название?
Добавив import java.util.Scanner; внутри программы, мы
можем использовать сокращенное имя типа Scanner:
Теперь указывать полное имя типа вместе с именем пакета нет
необходимости
15

16.

Практика
Запросите у пользователя ввести свое имя и фамилию. Выведите на
экран приветственное сообщение с использованием System.out.print.
16

17.

Практика
Запросите у пользователя ввести 2 числа. Выведите на экран результат
возведение в степень первого числа на второе
Чтобы возвести число в степень можно воспользоваться
Math.pow(основание, степень)
17

18.

Условные операторы
Мы научились выполнять линейные алгоритмы.
Условные операторы позволят добавить логику в работу
программы.
1.
if
2.
switch
3.
тернарный оператор (Элвис ?: )
18

19.

if
if —проверяет условие, указанное в качестве аргумента if (условие).
Если результат вычисления условия верен, то программа продолжит
выполнение кода, написанного внутри блока { код }. Если не верен, то
пропустит блок.
Пример: Если температура термостата достигла 100 градусов включи
вентилятор.
19

20.

if else
Если нужно проверить несколько условий, к оператору if добавляется
оператор else (иначе). Все блоки кода размещаются внутри { код }.
20

21.

if else
Мы можем использовать несколько ветвлений, однако здесь лучше сильно
не увлекаться – множественные условные вложенности усложняют
читаемость кода.
21

22.

Операции сравнения
Обратите внимание, что в программировании знак равенства обозначается
двумя знаками равно ==, а знак неравенства — это !=. Один знак равно =
необходим для записи значения в переменную.
Оператор
Функция оператора
Пример
<
<=
>
>=
==
!=
&&
||
Меньше
Меньше или равно
Больше
Больше или равно
Равно
Не равно
Операция И
Операция ИЛИ
x<y
x <= y
x>y
x >= y
x == y
x != y
x && y
x || y
22

23.

Операция И &&
Если в задаче 2 и больше условий, которые необходимо соблюсти, то мы
можем воспользоваться оператором && (И).
Например, для чтобы получить права на автомобиль, нужно иметь возраст
старше 18 лет и сдать экзамен.
int age = 18;
boolean examIsPassed = true;
if (age >= 18 && examIsPassed) {
System.out.println("Получите права");
}
23

24.

Операция ИЛИ ||
Если в задаче есть два условия, но чтобы она выполнялась, нам достаточно
соблюсти хотя бы одно из двух условий, мы можем использовать оператор
|| (ИЛИ).
Например, чтобы поступить на факультет автоматизации, нужно сдать экзамен
по информатике выше 80 баллов или экзамен по физике выше 70.
int informaticsRate = 90;
boolean physicsRate = 60;
if (physicsRate >= 70 || informaticsRate >= 80) {
System.out.println(”Добро пожаловать на факультет автоматизации!");
}
24

25.

switch
В качестве аргумента принимает переменную и сравнивает ее
значение в инструкциях оператора case.
Дополнительно оператор switch имеет инструкцию default,
определяющую вариант по умолчанию.
25

26.

switch
В коде оператора switch мы объявили еще оператор break. Когда
программа доходит до него, интерпретатор Java выходит из блока
case.
Если не написать break после выполнения кода в блоке case, мы
автоматически перейдем к блоку кода следующего case. При этом
проверяться условие уже не будет.
Важно после каждого case не забывать добавлять оператор
26

27.

switch
С выходом Java 14 можно получать результат выбора
и записывать выражение компактнее.
27

28.

Тернарный оператор
Тернарный оператор — условный оператора без тела кода. Он
используется, когда нужно присвоить значение переменной или вернуть
значение из метода в одну строку.
Конструкция состоит из условия ( условие ) и двух выражений.
Первое выражение сработает, если условие верно, а второе — если
ложно.
Выражения и условие разделены знаком вопроса ?
Получается как смайлик с прической Элвиса ?:
28

29.

Тернарный оператор
Пример: Если датчик температуры холодильника возвращает значение
больше 10, подайте питание на компрессор охлаждения. Иначе не подавайте.
29

30.

Практика
Даны 2 числа. С помощью условного оператора выведите значение меньшего.
30

31.

Практика
Написать логику функции определения знака числа. Если введено
положительное число, то в консоль вывести 1, отрицательное -1, если 0, то
0.
31

32.

Практика
Дано натуральное число. Выведите его последнюю цифру.
32

33.

Практика
За превышение скорости в городе водителю могут выписать штраф.
Напишите программу, которая сообщает водителю о том, что:
скорость превышена, если она больше 60 км/ч;
превышения скорости нет, если она меньше 60 км/ч.
При выполнении каждого условия программа должна выводить такое
сообщение: «Если скорость …, то (вывести в зависимости от результата)
придется заплатить штраф / штраф не придет».
33

34.

Практика
Напишите программу, которая определяет, является ли год високосным
или нет. Переменную года назовите year, в которую можно подставить
значение интересующего нас года. Например, 2021. Программа должна
определять, високосный год или нет, и выводить соответствующее
сообщение: « …. год является високосным» или «... год не является
високосным». Високосным является каждый четвертый год, но не
является
каждый
сотый.
Также
високосным
является
каждый
четырехсотый год.
34

35.

Практика
Напишите программу, которая помогает определить день недели по
номеру дня. Использовать оператор switch.
35

36.

Практика
Пользователь вводит свое имя и остаток баланса на счету. Затем выбирает
операцию: пополнить, снять или перевести.
Пополнение пользователь вводит сумму пополнения. Программа выводит в
консоль новую сумму.
Снятие: программа проверяет, достаточно ли средств, если да, то считает и
выводит новую сумму, иначе пишет: Недостаточно средств на счете.
Перевод. Пользователь указывает сумму и номер счета для перевода.
Программа либо переводит и выводит остаток, либо пишет: Недостаточно
средств на счете.
* Для облегчения задачи считать только целые рубли без копеек,
использовать класс long.
36

37.

Практика
Напишите программу, которая в зависимости от выбора пользователя
выводит нужный раздел.
1 – Найти билеты на самолет
2 – Купить билеты на самолет
3 – Сдать ранее купленные билеты
4 – Зарегистрироваться на рейс
5 - Связаться с поддержкой
Например, если пользователь вводит 4, в консоль выводим: «Форма
регистрации на рейс». Для написания программы используйте оператор
switch.
37
English     Русский Rules