0
0

Начал изучать java и на уркое было ДЗ написать код про пиццу ,доширак и шаурму с гамбургером, я написал, все работает, но распаковав код к уроку, увидел там можно сказать совершенно другой код, чем мой( кому не лень гляньте 2.2 урок, суть ДЗ) мой код выглядит так и все запускается

public class Meal {
public static void main(String[] args) {
int money = 300;
if( money >= 500) {
System.out.println("Пицца");
} else if ((money >=300)&&(money < 500)) {
System.out.println("Шаурма");
} else if ((money>100)&&(money<300)){
System.out.println("Гамбургер");
} else if (money <= 100){
System.out.println("Доширак");

а код из исходного к уроку, выглядит вот так

public class WhatToEat {
public static void main(String[] args) {
int countOfMoney = 200;
if (countOfMoney >= 500) {
System.out.println("Пицца");
} else if (countOfMoney >= 300) {
System.out.println("Шаурма");
} else if (countOfMoney >= 100) {
System.out.println("Гамбургер");
} else {
System.out.println("Доширак");

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


Дмитрий Путинцев
2 years ago






Когда пишете конструкцию if ... else .... например так,

if( money >= 500) {
System.out.println("Пицца");
} else {......}

то все что идет после else - происходит только в случае, когда не выполняется заданное в if условие (money >= 500), т.е. в случае когда money<500 - код идет в ветку else.

поэтому после else повторно проверять условие if (money<500) уже не надо - оно уже выполняется.

Это не ошибка, работать будет, но такие лишние проверки, особенно когда их много, будут путать логику кода во-первых, и будут снижать эффективность кода(скорость) во-вторых.

Valera TT
2 years ago

спасибо за подсказку, а то учусь на QA инженера, через блок будет джава,затем джава скрипт, вот решил с кодом заранее ознакомиться и подучить, что бы автоматизация тестирования легче давалась))

Дмитрий Путинцев
2 years ago

2 ответов