Ternary Operator
Часть раздела Основы путешествия по Java на Coddy — урок 30 из 73.
Тернарный оператор — это простой однострочный if-else оператор. Он имеет следующий синтаксис:
variable = (condition) ? value_if_true : value_if_false;Тернарный оператор вычисляет условие. Если оно true, то присваивает value_if_true переменной; в противном случае присваивает value_if_false.
Например:
int age = 20;
String message = (age >= 18) ? "Adult" : "Minor";В этом примере, поскольку age больше или равно 18, message будет присвоено значение "Adult". Если age было бы меньше 18, message было бы присвоено "Minor".
Вы можете вкладывать тернарные операторы для обработки нескольких условий:
int score = 75;
String grade = (score >= 90) ? "A" : (score >= 80) ? "B" : (score >= 70) ? "C" : "F";Это проверяет несколько условий последовательно. Если score >= 90, grade равна «A»; иначе если score >= 80, grade равна «B»; иначе если score >= 70, grade равна «C»; в противном случае «F».
Примечание: Вложенные тернарные операторы могут быть трудночитаемыми. Для сложных условий используйте операторы if-else вместо этого.
Задание
НовичокСоздайте программу, которая проверяет, является ли число положительным, отрицательным или нулевым, используя тернарный оператор. Программа должна:
- Принять целочисленный ввод от пользователя.
- Использовать тернарный оператор для определения, является ли число положительным, отрицательным или нулевым.
- Вывести результат в формате:
"The number is [positive/negative/zero]".
Шпаргалка
Тернарный оператор — это однострочное выражение if-else с синтаксисом:
variable = (condition) ? value_if_true : value_if_false;Он вычисляет условие и присваивает value_if_true, если условие true, иначе присваивает value_if_false.
Пример:
int age = 20;
String message = (age >= 18) ? "Adult" : "Minor";Вложенные тернарные операторы для обработки нескольких условий:
int score = 75;
String grade = (score >= 90) ? "A" : (score >= 80) ? "B" : (score >= 70) ? "C" : "F";Это проверяет несколько условий по порядку. Если score >= 90, grade равна "A"; иначе если score >= 80, grade равна "B"; иначе если score >= 70, grade равна "C"; в противном случае "F".
Примечание: Вложенные тернарные операторы могут быть трудно читаемыми. Для сложных условий используйте инструкции if-else вместо них.
Попробуйте сами
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int number = scanner.nextInt();
String result = "";
// Напишите свой код ниже
System.out.println("The number is " + result);
scanner.close();
}
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Operators Part 1
Arithmetic OperatorsModulo OperatorIncrement/DecrementPost Increment/DecrementArithmetic ShortcutsComparison OperatorsString Comparison5Operators Part 2
Logical Operators Part 1Logical Operators Part 2Recap - Simple LogicLogical Operators Part 3Logical Operators Part 43Variables Part 2
ConstantsNaming ConventionsRecap - Initialize VariablesType Casting Part 1Type Casting Part 26Decision Making
If StatementIf - ElseSwitch StatementTernary OperatorRecap - If ElseNested If - Else