Java использует логические переменные для оценки условий. Логические значения true
и false
возвращаются при сравнении или оценке выражения. Например:
int a = 4;
boolean b = a == 4;
if (b) {
System.out.println("It's true!");
}
Конечно, мы обычно не присваиваем логическому выражению условное выражение. Обычно мы просто используем короткую версию:
int a = 4;
if (a == 4) {
System.out.println("Ohhh! So a is 4!");
}
В условных операторах не так много операторов, и большинство из них довольно просты:
int a = 4;
int b = 5;
boolean result;
result = a < b; // true
result = a > b; // false
result = a <= 4; // a smaller or equal to 4 - true
result = b >= 6; // b bigger or equal to 6 - false
result = a == b; // a equal to b - false
result = a != b; // a is not equal to b - true
result = a > b || a < b; // Logical or - true
result = 3 < a && a < 6; // Logical and - true
result = !result; // Logical not - false
Оператор if, else в Java довольно прост.
if (a == b) {
// a and b are equal, let's do something cool
}
И мы также можем добавить оператор else после if, чтобы что-то сделать, если условие не истинно.
if (a == b) {
// We already know this part
} else {
// a and b are not equal... :/
}
Операторы if - else не обязательно должны находиться в нескольких строках с {}, if могут использоваться в одной строке, или без {} для однострочного состояния.
if (a == b)
System.out.println("Another line Wow!");
else
System.out.println("Double rainbow!");
Хотя этот метод может быть полезен для сокращения кода за счет использования меньшего количества строк, мы настоятельно рекомендуем новичкам не использовать эту короткую версию операторов и всегда использовать полную версию с {}. Это касается каждого оператора, который может быть сокращен до одной строки (for, while и т. Д.).
Есть другой способ написать однострочное выражение if - else с помощью оператора? :
int a = 4;
int result = a == 4 ? 1 : 8;
// result will be 1
// This is equivalent to
int result;
if (a == 4) {
result = 1;
} else {
result = 8;
}
Опять же, мы настоятельно рекомендуем новичкам не использовать эту версию if.
Оператор ==
работает с объектами немного иначе, чем с примитивами. Когда мы используем объекты и хотим проверить, равны ли они, оператор ==
скажет, одинаковы ли они, если вы хотите проверить, равны ли они логически, вы должны использовать equals
метод для объекта. Например:
String a = new String("Wow");
String b = new String("Wow");
String sameA = a;
boolean r1 = a == b; // This is false, since a and b are not the same object
boolean r2 = a.equals(b); // This is true, since a and b are logically equals
boolean r3 = a == sameA; // This is true, since a and sameA are really the same object
Измените переменные в первом разделе, чтобы каждый оператор if считался истинным.