Что такое знак вопроса "?"и двоеточие": "оператор используется для? [дубликат]
этот вопрос уже есть ответ здесь:
- Что такое Java ?: оператор позвонил и что он делает? 15 ответов
два вопроса об использовании вопросительного знака "?"and colon": "оператор в скобках функции печати: что они делают? Кроме того, кто-нибудь знает стандартный термин для них или где я могу найти больше информация об их использовании? Я читал, что они похожи на утверждение "если ""else".
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 в C, Java и JavaScript написана:
if (a > b) { result = x; } else { result = y; }
Это можно переписать как следующее утверждение:
result = a > b ? x : y;
в основном он принимает форму:
boolean statement ? true result : false result;
Итак, если логическое утверждение истинно, вы получаете первую часть, а если оно ложно, вы получаете вторую.
попробуйте это, если это все еще не имеет смысла:
System.out.println(true ? "true!" : "false."); System.out.println(false ? "true!" : "false.");
Это оператор 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"