삼항 연산자
조건식 ? 참일 때 값 : 거짓일 때 값
10 > 5 ? "yes" : "no"
3 > 5 ? "yes" : "no"
num > 10 ? num - 10 : num + 10;
자바에서는 자바스크립트보다 한정된 식만 사용 가능
조건식이 참이면 : 콜론 앞의 값을 거짓이면 콜론 뒤의 값을 사용한다.
조건식 : 참 혹은 거짓을 판별하는 식 _ 조건식 if/else 와 같다.
public static void main(String[] args) {
System.out.println(true ? 10 :20);
System.out.println(false ? 10 :20);
Scanner sc = new Scanner(System.in);
System.out.print("나이를 입력하세요 : ");
int age = sc.nextInt();
// age > 19 ? "성인" : "미성년자";
System.out.println(age > 19 ? "성인" : "미성년자");
// 60세 이상이면 노인을 출력
System.out.println(age > 19 ? age > 60 ? "노인" : "성인" : "미성년자");
}
조건문 if
조건에 따라서 다른 코드를 실행할 때 사용한다.
분기 처리를 할 때 사용한다.
(삼항연산자) 10> 5 ? a : b; 처럼
if(조건식) {
// 만약에 조건식이 참이면 여기를 수행
// 조건식이 true참일 때 수행
} else {
// 그렇지 않으면 여기를 수행
// 조건식이 false일 때 수행
}
조건문 else if
조건식이 여러개일 경우 사용할 수 있다.
if(조건식 1) { 조건식 1이 참이면... }
else if(조건식 2) { 조건식 2가 참이면... }
else if(조건식 3) { 조건식 3가 참이면... }
else if(조건식 4) { 조건식 4가 참이면... }
else if(...) {....}
else { 그렇지 않으면... }
삼항 연산자 vs 조건문 if
삼항연산자
if else 문을 한줄로 간결하게 표현할 경우 많이 사용
예를 들어 간단한 비교 1> 10 ? true : false와 같은 경우
조건문 if
여러개를 비교할 경우 사용하며, 삼항 연산자보다 가독성이 높다.
꼭, 삼항연산자를 사용할 경우를 제외하고는 대부분 if문을 사용한다.
System.out.println("조건문이 시작하기 전...");
int num = 1;
if(num < 10) {
System.out.println("if문 안의 출력문1");
System.out.println("if문 안의 출력문2");
}
else {
System.out.println("else문 안의 출력문 1");
System.out.println("else문 안의 출력문 2");
}
System.out.println("조건문이 종료하고 나서...");
//정수 한개를 입력받아 이 정수가 짝수라면 짝수출력 그렇지 않으면 홀수 출력
Scanner sc = new Scanner(System.in);
System.out.println("정수 한개를 입력하세요 :");
int number = sc.nextInt();
if(number % 2 == 0) {
System.out.println("짝수");
} else {
System.out.println("홀수");
}
System.out.print("나이를 입력하세요 : ");
Scanner sc = new Scanner(System.in);
int age = sc.nextInt();
if(age > 60) {
System.out.println("노인");
} else if(age > 19) {
System.out.println("성인");
} else {
System.out.println("미성년자");
}
if(age > 0 && age < 19) {
System.out.println("미성년자");
} else if(age >= 19 && age <= 60) {
System.out.println("성인");
} else {
System.out.println("미성년자");
}
if(age > 0 && age < 19) {
System.out.println("미성년자");
}
if(age >= 19 && age <= 60) {
System.out.println("성인");
}
if(age > 60) {
System.out.println("노인");
}
조건문 switch
if 문과 같이 흐름의 분기처리를 위해 사용한다.
단, if문은 조건식을 비교하지만, switch는 변수의 값으로 판다.
switch(변수) {
case 값1:
//변수가 값1하고 같으면...
break;
case 값2:
// 변수가 값2하고 같으면...
break;
.....
default:
// 앞의 조건들이 모두 아닐 경우...
break;
}
package day5;
public class Switch {
public static void main(String[] args) {
int num = 4;
switch(num) {
case 1:// 만약에 num == 1이면
System.out.println("값이 1입니다.");
break;
case 3:// 만약에 num == 3이면
System.out.println("값이 3입니다.");
break;
case 5:// 만약에 num == 5이면
System.out.println("값이 5입니다.");
break;
default:// 어디에도 포함되지 않으면
System.out.println("기본 문장을 실행합니다.");
break;
}
}
}
'language > Java' 카테고리의 다른 글
이중반복문 (Nested For) (0) | 2022.05.29 |
---|---|
반복문 (for) (0) | 2022.05.29 |
연산자(Operator) (0) | 2022.05.18 |
printf(), 형식지정자(%~), 입력 메소드 Scanner 클래스 (0) | 2022.05.16 |
변수 (0) | 2022.05.13 |