Синтаксис Java. Основные конструкции - циклы и условия

 

Основные конструкции - циклы и условия
Основные конструкции - циклы и условия

В статье Синтаксис Java переменные мы познакомились с одним из самых важных элементов любого языка программирования с переменной и разобрали порядок (синтаксис) применения на практике.

Синтаксис - это в буквальном переводе означает не только составление, но и упорядочивание, координирование, соединение слов в связный текст.

Решение домашнего задания:
Для примера возьмём 1000000 секунд и узнаем, сколько это дней, часов, минут и секунд.
public class Time {
public static void main(String[] args) {
//Если вы хотите написать какое-то примечание или комментарий, то поставьте 2 символа косой черты
//как сделал я и пишите, ошибок возникать не будет, это называется однострочный комментарий

//Дано количество секунд
int seconds = 1000000;

//Сохраним сколько секунд в минутах, сколько секунд в часах и сколько секунд в сутках, для дальнейших вычислений
int secondsInMinutes = 60;
int secondsInHours = secondsInMinutes * 60;
int secondsInDays = secondsInHours * 24;

//Вычисляем количество дней - оно равно общему количеству секунд деленному на количество секунд в днях
int days = seconds / secondsInDays;

//Вычисляем количество часов - берем остаток от деления (из предыдущего действия) и делим его на количество секунд в часах
int hours = (seconds % secondsInDays) / secondsInHours;

//Вычисляем количество минут - берем остаток от деления (из предыдущего действия) и делим его на количество секунд в минутах
int minutes = ((seconds % secondsInDays) % secondsInHours) / secondsInMinutes;

//Вычисляем количество секунд - берем общее количество секунд и вычитаем количество секунд, которое ушло на формирование дней, часов и минут
int leftSeconds = seconds - days * secondsInDays - hours * secondsInHours - minutes * secondsInMinutes;

//Выводим информацию на экран
System.out.println("Дано количество секунд: " + seconds);
System.out.println("Это равно");
System.out.println("Дней: " + days);
System.out.println("Часов: " + hours);
System.out.println("Минут: " + minutes);
System.out.println("Секунд: " + leftSeconds);
}
}
Run! Смотрим консоль
  • Дано кол-во секунд: 1000000
Это равно:
  • Дней11
  • Часов13
  • Минут46
  • Секунд40
Process finished with exit code 0


Давайте начнём!

И прежде чем мы перейдём к остальным типам данных, рассмотрим такую вещь как условный оператор.

До сих пор весь код выполнялся последовательно, но что если мы хотим, что бы какой-то код выполнялся при наличие какого либо условия. К примеру хотим, что бы включился кондиционер: включитьКондиционер();
только Если температура в доме больше 25%
В противном случае, мы не хотим, что бы кондиционер, что либо делал.

В данном случае нам поможет Условный оператор if (если)
Пишется он следующим образом:
if (условие) {
действие1();
действие2();
...} где () пишется логическое выражение

 В примере с кондиционером, конструкция выглядела бы следующим образом:

if (температура > 25) {включитьКондиционер();

}

В данном случае программа проверит условие, температура больше 25, и если так и есть, тогда выполниться действие из блока if

Давайте напишем всё в коде!

Переходим в IDE, File,NewProject, назовём Temp (температура). 

Добавим новый класс: src,new,JavaClass, так же Temp.

Добавляем точку входа в программу:

psvm (tab)

public class Temp {
public static void main(String[] args) {

}
}

Первым делом создадим переменную, которая будет хранить значение температура

int temp = 30;

Добавляем проверку условия

if  (temp > 25) {System.out.println("Кондиционер включен");

Выглядеть будет всё так:

public class Temp {
public static void main(String[] args) {
int temp = 30;
if (temp > 25) {
System.out.println("Кондиционер включен");
}
}
}

Run!

Кондиционер включен

Process finished with exit code 0

__

То есть программа постепенно идёт строчка за строчкой, сначала присваивает переменной temp значение 30, затем проверяет 30 больше 25 > или меньше. В данном случае она возвращает нам true (истина). То есть температура больше 25 и выполняет действие в блоке if

Давайте изменим температуру на 20 и запустим программу снова!

public class Temp {
public static void main(String[] args) {
int temp = 20;
if (temp > 25) {
System.out.println("Кондиционер включен");
}
}
}

Process finished with exit code 0

В данном случае никакая строчка не вывелась! потому что программа проверила условие, что температура больше 25 и выдала нам false (ложь), температура сейчас меньше чем 25 и соответственно блок действий не выполняется.

Что если кондиционер был включен на момент начала программы, и температура стала меньше 25, то в этом случае нам нужно выключить его.

Для того что бы выполнялся код в случае если условие не выполняется, то нужно добавить блок else (иначе).

Пишется он так;

else (

пишем действия которые будут выполнены в случае если условие не выполняется.

Давайте выведем, что кондиционер выключен.

public class Temp {

public static void main(String[] args) {
int temp = 20;
if (temp > 25) {
System.out.println("Кондиционер включен");
}
else {
System.out.println("Кондиционер выключен");
}
}
}

Run!

Кондиционер выключен

Process finished with exit code 0

__

А что если мы хотим, что бы кондиционер выключался только в том случае, если температура достигла 22%

В таком случае в блок else можем добавить проверку ещё одного условия

else if (если temp меньше < чем 22), то в этом случае выключаем кондиционер 

Сделаем температуру 23 

public class Temp {
public static void main(String[] args) {
int temp = 23;
if (temp > 25) {
System.out.println("Кондиционер включен");
}
else if (temp < 22){
System.out.println("Кондиционер выключен");
}
}
}

Process finished with exit code 0

В данном случае ничего не выводится.

Почему? 

температура в данном случае = 23

Программа проверяет, температура больше > 25 или нет

В данном случае условие не выполняется, переходим в блок else

В блоке else ещё одна проверка, температура  меньше 22 < или больше

Условие опять не выполняется, так как температура больше чем 22 и этот блок так же пропускается

Теперь мы добавим действие которое будет выполняться, если ни одно из условий не выполнено, просто добавляем ещё один блок else и выведем надпись Кондиционер ничего не делает

public class Temp {
public static void main(String[] args) {
int temp = 23;
if (temp > 25) {
System.out.println("Кондиционер включен");
} else if (temp < 22) {
System.out.println("Кондиционер выключен");
}
else {
System.out.println("Кондиционер ничего не делает");
}
}
}

Run!

Кондиционер ничего не делает

Process finished with exit code 0

__

Если назначим температуру 26 

public class Temp {
public static void main(String[] args) {
int temp = 26;
if (temp > 25) {
System.out.println("Кондиционер включен");
} else if (temp < 22) {
System.out.println("Кондиционер выключен");
}
else {
System.out.println("Кондиционер ничего не делает");
}
}
}

Кондиционер включен

Process finished with exit code 0

__

Если 21

public class Temp {
public static void main(String[] args) {
int temp = 21;
if (temp > 25) {
System.out.println("Кондиционер включен");
} else if (temp < 22) {
System.out.println("Кондиционер выключен");
}
else {
System.out.println("Кондиционер ничего не делает");
}
}
}

Кондиционер выключен

Process finished with exit code 0

__

На этом обзор if else закончен!


В качестве домашнего задания напишем следующую программу:

Написать программу, которая советует вам, что купить в зависимости от количества денег в вашем кармане. Например: Если у вас больше 500р, то программа выводит "Пицца", если меньше 100р то "Доширак".

Скачать курсы бесплатно

Вы хотите поесть, и  у вас в кармане есть определённая сумма денег. Напишите программу которая проверяет сколько у вас денег и в зависимости от их кол-ва. вы покупаете различные продукты. К примеру если больше 500р, то покупаем пиццу, если от 300-500 то шаурма, от 100-300 тогда гамбургер, меньше 100 доширак. Программа должна вывести название продуктов в консоль.

Удачи!

Решение в следующей статье: Типы данных. Целые числа

Отправить комментарий

Новые Старые
FL.ru – фриланс сайт удаленной работы. Поиск удаленной работы, фрилансеры.