•
주어진 조건의 결과 값에 따라 프로그램이 다른 명령을 수행하도록 하는 것이다.
선택문(switch)
•
값 또는 범위를 판단하는 if문과 달리 정수 값이나 열거된 값 또는 문자, 문자열만을 사용할 수 있다.
•
컴파일러를 통해 실행 결로를 설정하는 점프 테이블이 만들어지면서 많은 조건 비교 시, if-else보다 더 빠른 성능을 보인다.
•
if-else문에 비해 더 나은 가독성을 가지고 있다.
public class Sample {
public static void main(String[] args) {
int month = 8;
String monthString = "";
switch (month) {
case 1: monthString = "January";
break;
case 2: monthString = "February";
break;
case 3: monthString = "March";
break;
case 4: monthString = "April";
break;
case 5: monthString = "May";
break;
case 6: monthString = "June";
break;
case 7: monthString = "July";
break;
case 8: monthString = "August";
break;
case 9: monthString = "September";
break;
case 10: monthString = "October";
break;
case 11: monthString = "November";
break;
case 12: monthString = "December";
break;
default: monthString = "Invalid month";
break;
}
System.out.println(monthString);
}
}
Java
복사
if
•
if 블록은 if 조건이 true일 때 동작한다.
//Java Program to demonstate the use of if statement.
public class IfExample {
public static void main(String[] args) {
//defining an 'age' variable
int age=20;
//checking the age
if(age>18){
System.out.print("Age is greater than 18");
}
}
}
Java
복사
Ternary Operator
•
삼항 연산자를 사용한 조건문이 가능하다. if-else문 형태의 작업을 수행한다.
•
조건이 참이면 ? 다음 내용이 반환되며 거짓이면 : 이후의 의 결과가 반환됨
public class IfElseTernaryExample {
public static void main(String[] args) {
int number=13;
//Using ternary operator
String output=(number%2==0)?"even number":"odd number";
System.out.println(output);
}
}
Java
복사
Nested if
•
중첩문은 if 블록 안에 if 문이 존재하는 것
//Java Program to demonstrate the use of Nested If Statement.
public class JavaNestedIfExample {
public static void main(String[] args) {
//Creating two variables for age and weight
int age=20;
int weight=80;
//applying condition on age and weight
if(age>=18){
if(weight>50){
System.out.println("You are eligible to donate blood");
}
}
}
}
Java
복사