Что такое знак вопроса «?» И двоеточие «:» Используется оператор? [Дубликат]

На этот вопрос уже есть ответ:

Что такое оператор Java?: И что он делает? 15 ответов

Два вопроса об использовании знака вопроса "?" и оператор двоеточия ":" в скобках функции печати: что они делают? Кроме того, кто-нибудь знает стандартный термин для них или где я могу найти больше информации об их использовании? Я читал, что они похожи на оператор «если», «еще».

int row = 10;
int column;
while (row >= 1)
{
    column = 1;
    while(column <= 10)
    {
        System.out.print(row % 2 == 1 ? "<" : "\r>");
        ++column;
    }
    --row;
    System.out.println();
}

Ответы на вопрос(7)

Это оператор if / else, равный

if(row % 2 == 1){
  System.out.print("<");
}else{
  System.out.print("\r>");
}
a=1;
b=2;

x=3;
y=4;

answer = a > b ? x : y;

answer=4 поскольку условие ложно, оно принимает значение y.

Знак вопроса (?)
. Значение, используемое, если условие истинно

Двоеточие (:)
. Значение, используемое, если условие ложно

это может быть прекрасным примером для Android,Например

void setWaitScreen(boolean set) {
    findViewById(R.id.screen_main).setVisibility(
            set ? View.GONE : View.VISIBLE);
    findViewById(R.id.screen_wait).setVisibility(
            set ? View.VISIBLE : View.GONE);
}

"if row%2 is equal to 1 then return < else return /r"

Разница с конструкцией if ... else заключается в том, что они возвращают что-то, и это может быть что угодно:

  int k = a > b ? 7 : 8; 
  String s = (foobar.isEmpty ()) ? "empty" : foobar.toString (); 

хотя я бы отправил ответ на другой мой связанный вопрос,

a = x ? : y;

Эквивалентно

a = x ? x : y;

Если x равно false или равно нулю, тогда берется значение y.

условный оператор, который можно использовать где угодно, а не только оператором print. Иногда его называют «троичным оператором», но это не единственный троичный оператор, самый распространенный.

Вот хороший пример из Википедии, демонстрирующий, как это работает:

Традиционная конструкция if-else на C, Java и JavaScript написана:

if (a > b) {
    result = x;
} else {
    result = y;
}

можно переписать как следующее утверждение:

result = a > b ? x : y;

В основном это принимает форму:

boolean statement ? true result : false result;

Так что, если логическое утверждение истинно, вы получите первую часть, а если ложно, вы получите вторую.

Попробуйте эти i, f, которые все еще не имеют смысла:

System.out.println(true ? "true!" : "false.");
System.out.println(false ? "true!" : "false.");

ВАШ ОТВЕТ НА ВОПРОС