조건문 (conditional statements)
※ conditonal : 조건부의, 조건문
- 주어진 조건식의 결과에 따라 별도의 명령을 수행할 수 있도록 제어해주는 명령문입니다.
- 조건문의 가장 기본은 if문이며 자바에서 사용하는 대표적인 조건문은 4가지가 있습니다.
- if문, if/else문, if/else if/else문, switch문
▶ if 문
※ if : 만약에
- if문은 해당 조건의 결과가 참(true)이면 블록에 있는 명령문을 실행하게 되고, 거짓(false)이면 아무것도 실행하지 않습니다.
- 자바에서 if문의 문법 구조입니다. ▼
if (조건식) {
조건식의 결과가 참(true)일 때 실행하고자 하는 명령문;
}
- if문의 실행 순서를 보도록 하겠습니다.
if문 조건식 확인 -> 참 -> 주어진 명령문 실행 후 종료
- if문 안의 블록에 있는 명령문은 오른쪽으로 들여쓰기(tab키)가 되어 있습니다.
- 이처럼 들여쓰기를 통해 코드의 가독성을 높이는 것을 인덴트(indent)라고 하며, 모든 코드를 인덴트 하는것이 코드를 보기에도, 후에 수정할 때에도 좋습니다.
※ indent : 들여쓰다 (주로 tab키 1번 혹은 space 8번)
- if문의 예시 (영문 소문자 확인 예제)
public class Control {
public static void main(String[] args) {
char ch = 'j';
if(ch >= 'a' && ch <= 'z') {
System.out.println("해당 문자는 영문 소문자입니다.");
}
}
}
---------------------------------------------------------------------
출력 결과
해당 문자는 영문 소문자입니다.
※ if문에서 실행될 명령문이 한 줄 뿐이라면 중괄호{}를 생락할 수 있습니다.
▶ if/else 문
※ else : 또 다른, 그 밖의, 다른
- if문과 함께 else문을 사용하는 문법 입니다.
- if문의 블록에서는 조건식의 결과가 참(true)일 때 실행이 되고, else문의 블록은 조건식의 결과가 거짓(false)일 때 실행이 됩니다.
- 자바에서 if/else 문의 문법 구조입니다. ▼
if (조건식) {
조건식의 결과가 참(true)일 때 실행할 명령문;
} else {
조건식의 결과가 거짓(false)일 때 실행할 명령문;
}
- if/else 문의 실행 순서를 보도록 하겠습니다.
if문 조건식 확인 -> 참 -> 주어진 명령문 실행 후 종료
-> 거짓 -> else 문 -> 주어진 명령문 실행 후 종료
▶ if/else if/else 문
- if/else문이 연달아 오는 거라고 생각하면 됩니다
- if와 else 사이에 더 많은 조건식을 넣을 수 있습니다
(else if(조건식)은 갯수 제한이 없기 때문에 무한이 사용할 수 있으나
코드가 길어지면 그만큼 실행 시간이 오래 걸릴 것입니다)
- 자바에서 if/else if/else 문의 문법 구조입니다. ▼
if (조건식1) {
조건식1의 결과가 참일 때 실행하고자 하는 명령문;
} else if (조건식2) {
조건식2의 결과가 참일 때 실행하고자 하는 명령문;
} else {
조건식1의 결과도 거짓이고, 조건식2의 결과도 거짓일 때 실행하고자 하는 명령문;
}
- if/else if/else 문의 실행 순서를 보도록 하겠습니다.
if문 조건식 확인 -> 참 -> 주어진 명령문 실행 후 종료
-> 거짓 -> else if문 -> 참 -> 주어진 명령문 실행 후 종료
-> 거짓 -> else -> 주어진 명령문 실행 후 종료
▶ Switch 문
- if문 보다 가독성이 좋고 속도도 빠릅니다.
하지만 많이 사용되지 않는 조건문입니다.
- switch의 조건에는 byte형, short형, char형, int형의 변수나 리터럴만 사용할 수 있습니다.
- 자바에서 if/else if/else 문의 문법 구조입니다. ▼
switch (조건 값) {
case 값1:
조건 값이 값1일 때 실행하고자 하는 명령문;
break;
case 값2:
조건 값이 값2일 때 실행하고자 하는 명령문;
break;
default:
조건 값이 어떠한 case 절에도 해당하지 않을 때 실행하고자 하는 명령문;
break;
}
- case 문의 실행순서를 보도록 하겠습니다.
switch 시작 -> 조건값 확인 -> 첫번째 case -> 참 -> 주어진 명령문 실행 후 종료(break)
-> 거짓 -> 다음 case문 검사 -> 반복
-> 모두 거짓 -> default 실행
- switch 문의 case, defualt는 무조건 break를 사용해주어야 합니다.
break가 없을 경우 조건에 해당하는 case문 실행 후 그 밑으로 있는 모든 case와 default가
차례로 실행됩니다.
default는 모든 case문이 거짓일 때 실행된다 (default는 필수가 아닙니다)
- switch문 활용하기
case의 조건은 다르나 실행될 명령은 동일할 경우 아래와 같이 활용할 수 있습니다
switch (ch) {
case 'a':
case 'e':
case 'i':
System.out.println("해당 문자는 소문자 모음입니다.");
break;
case 'A':
case 'E':
case 'I':
System.out.println("해당 문자는 대문자 모음입니다.");
break;
default:
System.out.println("해당 문자는 모음이 아닙니다.");
break;
}
1. if(조건식)
() 안에서 여러개의 조건식을 한번에 체크해도 된다 (and&&, or||을 활용)
2. if문의 조건식에서 null을 체크할 때!
if(key != null && !key.equals(''))
null인지 검사하는 조건이 먼저 오는게 효율적이다.
출처 : http://tcpschool.com/java/java_control_condition
'Programing > JAVA' 카테고리의 다른 글
자바 - 기본 함수 (0) | 2022.12.06 |
---|---|
데이터 출력 변환 (null -> 0 / 0 -> null) (0) | 2022.11.30 |
Java Operator (삼항 연산자) (0) | 2021.07.19 |
Java Operator (비트 연산자) (0) | 2021.07.19 |
Java Operator (논리 연산자) (0) | 2021.07.19 |