1. 조건문(conditional) 개요
- 상황별 실행 흐름을 만드는 문법
2. 조건문의 종류
if 문
- 조건에 따른 수행 여부를 결정
1 2 3
if (조건식) { 조건식이 참일 때 실행하는 코드 }
if-else 문
- 두 조건식 중 하나를 선택할 때 사용
- 조건식이 참일 때 if, 거짓일 때 else문 코드 수행
1 2 3 4 5
if(조건식) { 조건식이 참일 때 실행하는 코드 } else { 조건식이 거짓일 때 실행하는 코드 }
else if 문
- 추가 조건을 붙여야 할 때 사용
- 위 코드부터 차례로 조건문을 수행
1 2 3 4 5 6 7
if (조건식 A) { 조건식 A가 참일 때 실행하는 코드 } else if (조건식 B) { 조건식 B가 참일 때 실행하는 코드 (A는 거짓) } else { 조건식 A와 B 모두 거짓일 때 실행하는 코드 }
switch 문
- 상황 case에 따라 수행 코드를 나누는 문법
- 예시
1 2 3 4 5 6 7 8 9
if (grade == 'A') { System.out.println("장학금 100만원"); } else if (grade == 'B') { System.out.println("백화점 상품권 50만원"); } else if (grade == 'C') { System.out.println("도서상품권 30만원"); } else { System.out.println("교수님 격려"); }
- 위 코드를 아래로 바꿀 수 있다.
1 2 3 4 5 6 7 8 9 10 11 12 13
switch (grade) { case 'A': System.out.println("장학금 100만원"); break; case 'B': System.out.println("백화점 상품권 50만원"); break; case 'C': System.out.println("도서상품권 30만원"); break; default: System.out.println("교수님 격려"); }
- 위 코드를 아래로 바꿀 수 있다.
break
는 필요에 따라 생략 가능 →break
가 없으면 밑case
까지 실행
삼항 연산자
- 조건식에 따른 반환값을 지정하는 문법
1
(조건식) ? A : B;
조건식
이 참이면 A, 거짓이면 B 반환
- 예시
1 2
int n = 13; String result = (n % 2 == 0) ? "짝수" : "홀수"; // result = "홀수"
3. 조건문과 연산자
비교 연산자
- 두 값을 비교하는 기호
- 연산의 결과가 참이면 true, 아니면 false를 반환
- 비교 연산자 종류
==
!=
>=
>
<=
<
논리 연산자
- 두 논릿값을 토대로 새 논릿값을 반환하는 기호
- 논리 연산자 종류
- AND (
&&
)- 논릿값 둘 다 참일 경우에만 참
- OR (
||
)- 논릿값이 둘 중 하나라도 참이면 참
- XOR (
^
)- 두 논릿값이 다르면 참, 같으면 거짓
- NOT (
!
)- 논릿값의 결과를 반대로 변경
- AND (
- 논리 연산자 간 우선순위
- NOT > XOR > AND > OR
^
에 관해서
- 결과값이 boolean type일 때
^
는 XOR 연산자- XOR 연산자는 두개가 같으면 false 두개가 다르면 true
- 결과값이 int type 일때
- 각 비트별로 XOR 연산 되는 결과가 10진수로 변환
- true= 1, false = 0
- 예시 ```java System.out.println(“100^200 = “ + (100^200)); // “100^200 = 172” 출력
/*
- 100 => 이진수 01100100
- 200 => 이진수 11001000
- 10101100 -> 각 비트 별로 XOR 계산 결과
- 10101100 => 10진수 172
- ex) 비트 별 XOR 계산 예시
- 1^0 or 0^1 => 1
- 0^0 or 1^1 => 0 */ ```