일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- MPA
- 배열
- 예외 처리
- 다형성
- node.js
- 바이트 단위 스트림
- 상속
- 메서드
- throws
- exception
- 보조 스트림
- 인스턴스
- try-catch
- 자바
- 개발자
- 인터페이스
- 백엔드
- FileInputStream
- Java
- 코딩
- SSR
- 문자 단위 스트림
- 변수
- 새벽공부
- 초보개발자
- 코린이
- 자료형
- 졸리다
- 파이팅
- ArrayList
- Today
- Total
SHUSTORY
04-1 조건문 본문
if문과 if-else문
조건식에는 결과가 참, 거짓으로 판별되는 식이나 참, 거짓의 변수를 가진 변수, 상수를 사용할 수 있다.
if문 다음에 항상 else문이 와야 하는 것은 아니다.
수행문이 한 개인 경우에는 중괄호를 사용하지 않아도 오류가 발생하지 않지만 두 개 이상인 경우에는 반드시 중괄호를 사용하여 조건식을 만족할 때 괄호 안 문장을 수행하라고 표시해주어야 한다.
하지만 중괄호로 표시해주는 것이 가독성이 좋으며 이후 수행문을 추가할 때 오류를 방지할 수 있으므로 제어문을 사용할 때는 중괄호를 사용하는 것을 권장한다.
if-else if-else문에서는 하나의 조건식을 만족하면 이후의 조건은 비교하지 않는다.
출력문에서 +를 사용하면 여러 단어를 연결하여 출력할 수 있다.
12행에서 age >= 8 && age < 14라고 쓰지 않은 것은 앞서 말했듯이 if-else if-else문에서는 하나의 조건을 만족하면 다른 조건은 더 이상 비교하지 않기 때문이다. 즉, 첫 번째 조건식에서 age < 8을 비교했기 때문에 이는 이미 처리된 것이다.
if문을 연달아 쓰지 않고 if-else문을 사용하는 이유는 if-else문은 하나의 조건을 만족하면 나머지 조건을 비교하지 않고 다음 수행문으로 넘어가기 때문이다.
만약 if문만으로 구성되어 있다면 코드는 조건마다 각각 비교하므로 원하지 않는 출력 결과가 나올 수 있다.
조건문과 조건 연산자
같은 내용을 위와 같이 두 가지 코드로 구현할 수 있다.
if-else문이 가독성은 더 좋지만 위와 같이 간단한 조건문이고 선택이 두 가지만 있을 경우 종종 조건 연산자를 사용하기도 한다.
switch-case문
조건식의 결과가 정수 또는 문자열 값이고 그 값에 따라 수행되는 경우가 각각 다른 경우에는 switch-case문으로 구성하는 것이 코드도 깔끔하고 가독성도 좋다.
case문에는 여러 문장이 있어도 { }를 여러 번 사용하지 않는다.
if-else 문장에서 else 역할을 하는 것이 default이다. switch-case문에서 default는 생략 가능하다.
break문은 switch-case문의 수행을 멈추고 빠져나가도록 만든다. 만약 break문을 작성하지 않는다면 조건에 만족하는 값의 수행문을 수행하더라도 switch-case문을 빠져나오지 못해 잇따라 나오는 문장까지 모두 수행되어 마지막 수행문의 결괏값을 출력하게 되므로 조건에 맞는 수행문을 작성한 후 반드시 break문을 작성해 주어야 한다.
case문 동시에 사용하기
case문은 다르지만 같은 수행문이 반복되는 경우 위와 같이 case문을 동시에 작성하여 하나의 수행문을 수행하도록 구현할 수 있다.
case문에 문자열 사용하기
equals( )메서드를 사용하여 문자열을 비교했던 이전과 달리 자바 7부터는 case문에 문자열을 직접 사용할 수 있게 되었다.
'프로그래밍 > JAVA' 카테고리의 다른 글
05-1 객체 지향 프로그래밍과 클래스 (0) | 2023.02.20 |
---|---|
04-2 반복문 (0) | 2023.02.20 |
03-1 기본 연산자 (0) | 2023.02.20 |
02-5 형 변환 (1) | 2023.02.19 |
02-4 상수와 리터럴 (0) | 2023.02.19 |