if (condition) {
// statements
}
Последовательное (линейное) выполнение программы (алгоритма) позволяет решать ограниченный круг задач.
Использование конструкций позволяющих изменять последовательность выполнение в зависимости от условия (condition)
if
statementif (condition) {
// statements
}
if (condition)
// ONE statement
// statement AFTER
But not recommend
int number = 10;
// checks if number is greater than 0
if (number > 0) {
System.out.println("The number is positive.");
}
System.out.println("Statement outside if block");
The number is positive.
Statement outside if block;
// create a string variable
String language = "Java";
// if statement
if (language == "Java") {
System.out.println("Best Programming Language");
}
Best Programming Language
// create a string variable
String language = "Java";
// if statement
if (language == "Java")
System.out.println("Best Programming Language");
But not recommend
if-else
statementif (condition) {
// statements
} else {
// statements
}
if (condition)
// ONE statement
else
// ONE statement
// statement AFTER
But not recommend
int number = 10;
// checks if number is greater than 0
if (number > 0) {
System.out.println("The number is positive.");
} else { // execute this block if number is not greater than 0
System.out.println("The number is not positive.");
}
System.out.println("Statement outside if...else block");
The number is positive.
Statement outside if...else block
if-else if-else
statementif (condition1) {
// statements
} else if(condition2) {
// statements
} else if (condition3) {
// statements
} else {
// statements
}
int number = 0;
// checks if number is greater than 0
if (number > 0) {
System.out.println("The number is positive.");
} else if (number < 0) { // checks if number is less than 0
System.out.println("The number is negative.");
} else { // if both condition is false
System.out.println("The number is 0.");
}
The number is 0.
int number = 0;
// checks if number is greater than 0
if (number > 0)
System.out.println("The number is positive.");
else if (number < 0) // checks if number is less than 0
System.out.println("The number is negative.");
else // if both condition is false
System.out.println("The number is 0.");
But not recommend
if-else
statementif (condition1) {
// statements
} else {
// statements
if (condition2) {
// statements
} else {
// statements
}
// statements
}
// declaring double type variables
double n1 = -1.0;
double n2 = 4.5;
double n3 = -5.3;
double largest;
if (n1 >= n2) { // checks if n1 is greater than or equal to n2
// checks if n1 is greater than or equal to n3
if (n1 >= n3) { // if...else statement inside the if block
largest = n1;
} else {
largest = n3;
}
} else { // if..else statement inside else block
// checks if n2 is greater than or equal to n3
if (n2 >= n3) {
largest = n2;
} else {
largest = n3;
}
}
System.out.println("Largest Number: " + largest);
Largest Number: 4.5
if-else
)condition ? expressionTrue : expressionFalse
(condition) ? expressionTrue : expressionFalse
variable = (condition) ? expressionTrue : expressionFalse;
variable = (condition)
? expressionTrue
: expressionFalse;
int time = 20;
if (time < 18) {
System.out.println("Good day.");
} else {
System.out.println("Good evening.");
}
int time = 20;
String result = (time < 18)
? "Good day."
: "Good evening.";
System.out.println(result);
switch
statementswitch (expression) {
case exp1:
// statements
break;
// ...
case expN:
// statements
break;
default:
// statements
}
До Java 7: в качестве результата для Expression могли быть типы данных byte
, short
, char
, int
, Enums.
C Java 7: в качестве результата для Expression стали ещё допустимы типы данных Byte
, Short
, Character
, Integer
, String
int number = 44;
String size;
// switch statement to check size
switch (number) {
case 29:
size = "Small";
break;
case 42:
size = "Medium";
break;
case 44:
size = "Large";
break;
case 48:
size = "Extra Large";
break;
default:
size = "Unknown";
break;
}
System.out.println("Size: " + size);
Size: Large
int number = 30;
String size;
switch (number) {
case 29:
case 30:
case 31:
size = "Small";
break;
case 42:
case 43:
size = "Medium";
break;
case 44:
case 45:
case 46:
size = "Large";
break;
case 48:
size = "Extra Large";
break;
default:
size = "Unknown";
break;
}
System.out.println("Size: " + size);
Size: Small
break
statement in switch
int expression = 2;
// switch statement to check size
switch (expression) {
case 1:
System.out.println("Case 1");
case 2: // matching case
System.out.println("Case 2");
case 3:
System.out.println("Case 3");
default:
System.out.println("Default case");
}
Case 2
Case 3
Default case
if statement
Когда необходимо работать с диапазонами или сложными условиями
ternary operator
Когда результат необходимо сразу же использовать в выражении
switch statement
Когда известны все возможные варианты и их количество конечно
Стоит подумать о другом решении, когда case
становится больше 10