Java с Евгением Орашковым
43 subscribers
2 photos
7 links
Канал о программировании
Download Telegram
Тернарный оператор в Java

Не самая важная и большая тема, но интересная и полезная!

Тернарный оператор - это конструкция похожая на конструкцию if-else. Он содержит внутри себя три выражения, поэтому и имеет такое название - тернарный (тройной).

Общий шаблон конструкции с тернарным оператором:
<условие> ? <выражение для true> : <выражение для false>

Где:
<условие> - условие, которое как и в if либо истинное, либо ложное. То есть возвращает либо true, либо false.
<выражение для true> - код, который сработает, если условие истинное.
<выражение для false> - код, который сработает, если условие ложное.

Приведу пример:
В зависимости от переменной хранящей температуру, строке присваивается значения "холодно" или "тепло"

Это условие реализованное с помощью if-else:

    if (temperature > 17) {
state = "тепло";
} else {
state = "холодно";
}


Тоже самое условие, но реализованное с использованием тернарного оператора:

    state = temperature > 17 ? "тепло" : "холодно";


Как мы можем видеть - код стал немного короче. А если привыкнуть к тернарному оператору, то и немного понятней.

Что же лучше использовать обычное условие if-else или тернарный оператор? С точки зрения производительности кода, то и не важно. Это может повлиять скорее на его читаемость. Как правило, если условие достаточно простое, то можно использовать тернарный оператор. Если же условие сложное и многоступенчатое, то лучше использовать классическое if-else. Согласитесь, приведенный ниже код выглядит уже не так очевидно 😵‍💫

    state = temperature > 23 ? "жарко"
: temperature > 17 ? "тепло" : "холодно";


Ещё один важный момент - <выражение для true> и <выражение для false> должны возвращать значения одинакового (либо совместимого) типа. Их тип также не может быть void, то есть провернуть что-то такое с тернарным оператором не получится:

    temperature > 10 ?  System.out.println("тепло") :  System.out.println("холодно"); // ошибка


На этом всё, спасибо за внимание 🙃
🔥2
Небольшая задача на тернарный оператор

public class TernaryOperator {

public static void main(String[] args) {
System.out.println(findSome(3, 2));
System.out.println(findSome(-1, 0));
System.out.println(findSome(12, 12));
}

private static int findSome(int a, int b) {
if (a > b) {
return a;
} else {
return (a == b) ? 0 : b;
}
}
}
👍1
Что будет выведено на экран?
Anonymous Quiz
0%
2 0 0
31%
3 0 12
69%
3 0 0
0%
2 -1 0
👍2
Всем привет!

Небольшой соц опрос 🧐 Когда вы пишите код, и плотно погружены в этот процесс, есть ли у вас привычка бубнить себе под нос, проговаривая свои действия? Мне это вполне свойственно🥲, иногда замечаю что-то такое и за коллегами в офисе
Anonymous Poll
89%
Да
11%
Нет...
0%
Обычно слушаю музыку
Всем привет!

В курсах на ютубе мы еще не проходили метод equals() (но обязательно скоро пройдём), поэтому вопрос для более опытных :)

Есть ли разница между этими двумя вариантами сравнения строк?

"template".equals(string);

string.equals("template");
👍2
Какой вариант лучше?
Anonymous Quiz
10%
Первый
75%
Второй
15%
Одинаково
👍2
Включил комментарии, задавайте вопросы по предыдущим постам, если они есть)
Всем привет!
Небольшая задачка на конструкторы:

Есть родительский класс:

public class Parent {
public int num = 0;

public Parent() {
num++;
}
}


Есть дочерний класс, который от него наследуется:

public class Child extends Parent {
public Child() {
num = num * 2;
}
}


Какое значение переменной num будет выведено на экран?

public class ConstructorExercise {
public static void main(String[] args) {
Child child = new Child();
System.out.println(child.num);
}
}
🔥1
Что будет выведено на экран?
Anonymous Quiz
24%
0
29%
1
47%
2
#memes
Pov: Коллега, когда ты попросил его объяснить как работает код
🔥2❤‍🔥1
#опросы
Всем привет!

Вопрос к тем, кто смотрит мои видео на YouTube. Самую важную информацию по теме я стараюсь вынести в презентацию, которую показываю и в самом видео. Отчасти я это делаю, чтобы подчеркнуть самое важное и вы могли бы это как-то законспектировать или сохранить. Делаете ли вы конспекты или какие-то заметки?
👍1
Наделал уроков на будущее, будут выходить каждую пятницу в 22.00 по мск.
👍5🔥2
#тесты
Какой модификатор доступа самый закрытый?
Anonymous Quiz
22%
protected
0%
public
0%
default (по умолчанию)
78%
private
Forwarded from dmitry
Привет только начал заниматься. Никто из новичков не хочет в пару чтобы пинать друг друга?
👍3
Всем привет!
К сожалению, у многих стал сильно тормозить youtube. Стоит ли дублировать видео-уроки на какой-нибудь другой платформе?
(Я больше склоняюсь к VK Видео)

P.S. Помогает ли VPN?
Всем привет!
Сделал сообщество в VK Видео, где буду дублировать уроки с YouTube канала:

https://vkvideo.ru/@club228813804
👍3
С наступающим Новым годом и Рождеством!
Желаю в новом году достичь всех заветных целей и отпраздновать их достижение в кругу родных и любимых людей! 🎉🍾🥳
👍52
This media is not supported in your browser
VIEW IN TELEGRAM