티스토리 뷰
조건문이란?
프로그래밍에서 특정 조건을 평가하고, 그 결과에 따라 다른 실행 흐름을 따르도록 하는 구문
즉, 조건문을 사용하면 주어진 조건이 참(true)일 때와 거짓(false)일 때 수행할 작업을 다르게 지정할 수 있음.
1. if문 문법
if(조건식){
수행문;
}
// 조건식이 '참'인 경우(조건에 맞는 경우) 수행문이 수행됨
// 조건식이 '참'이 아닌 경우(조건에 맞지 않는 경우) 수행문이 수행되지 않음
if문 단독은 수행될 수도, 안 될 수도 있음.
예시1)
boolean flag = true;
if(flag) {
System.out.println("출력됨");
flag = false;
} // end of if
System.out.println("코드가 여기까지 내려옴 : " + flag);
flag 자체가 true 여서 출력된 후 false로 if 문에서 벗어나 코드가 아래로 내려가 false가 출력됨.
예시2)
boolean flag = false;
if(flag) {
System.out.println("출력됨");
flag = true;
} // end of if
System.out.println("코드가 여기까지 내려옴 : " + flag);
if문의 수행구문 내의 flag가 true 지만 if문 자체가 false라서 출력되지 않고, 코드가 내려간 후 수행문의 flag에 false가 출력됨.
2. if - else문 문법(둘 중 하나는 반드시 수행됨)
if(조건식) {
수행문1; // 조건식이 '참'인 경우에 수행됨
} else {
수행문2; // 조건식이 '참'이 아닌 경우에 수행됨
}
3. if - else if - else문 문법(조건 여러 개)
(마지막에 디폴트 값 else를 주면 반드시 수행되고 아니면 수행안 함)
if(조건식1) {
수행문1; // 조건식1이 '참'인 경우 수행하고 전체 조건문을 빠져나감
} else if(조건식2) {
수행문2; // 조건식2이 '참'인 경우 수행하고 전체 조건문을 빠져나감
} else if(조건식3) {
수행문3; // 조건식3이 '참'인 경우 수행하고 전체 조건문을 빠져나감
} else {
수행문4; // 위 조건이 모두 해당되지 않는 경우 수행됨 (디폴트 조건)
}
수행문5; // if-else if-else 문이 끝나면 수행됨
// 조건식2가 만족되면 수행문2 -> 수행문5 순으로 수행됨
예시)
int age = 17;
// if else if else 사용시 조건식에 범위 점차 크게 설정해야 한다.
if(age <= 3) {
System.out.println("학교에 아직 다니지 않습니다.");
} else if(age <= 13) {
System.out.println("초등학교에 다니고 있습니다.");
} else if(age <= 16) {
System.out.println("중학교에 다니고 있습니다.");
} else {
System.out.println("고등학교 이상 다니거나 졸업을 했네요.");
}
4. for 반복문
for(초기화식; 조건식; 증감식){
수행문;
}
예시)
for(int i = 0; i < 10; i++) {
System.out.println(i);
}
i 변수에 0 ~ 9까지 들어감.
아래 그림의 수행 순서를 적용하면
- i = 0(초기화식)
- i <10 (조건식) (true임)
- i가 0으로 출력됨.
- i가 1 증가함.(증감식)
- i가 1이 됨. -> 2 ~ 5번 반복함.
- i가 10일 경우 조건식 false로 반복이 멈춤.
예시 1)
구구단 2단을 출력하시오.
int num = 2;
System.out.println(num + " * 1 = " + (num * 1));
System.out.println(num + " * 2 = " + (num * 2));
System.out.println(num + " * 3 = " + (num * 3));
System.out.println(num + " * 4 = " + (num * 4));
System.out.println(num + " * 5 = " + (num * 5));
System.out.println(num + " * 6 = " + (num * 6));
System.out.println(num + " * 7 = " + (num * 7));
System.out.println(num + " * 8 = " + (num * 8));
System.out.println(num + " * 9 = " + (num * 9));
이러한 반복적인 코드의 패턴을 파악하여 for 문을 적용한다.
num = 3;
for(int i = 1; i < 10; i++) {
System.out.println(num + " * "+ i + " = " + (num * i));
}
이는 for문을 적용하여 구구단 3단을 출력한 것이다.
1 ~ 9까지의 수는 변수 i를 적용한다.
3 * 1 = 3
3 * 2 = 6
등등으로 출력된다.
예시 2)
print() : 줄바꿈 없이 가로로 한 줄에 이어져서 출력됨. println() : 줄바꿈함. 세로로 출력됨. |
for(int i = 0; i <3; i++) {
for(int j = 0; j <3; j++) {
System.out.print(j);
}
System.out.println();
}
이는 이중 for문을 사용하였다.
변수 j는 0,1,2까지 줄바꿈 없이 가로로(print) 나열함.(안쪽 for)
변수 i는 변수 j 값을 세로로(println) 3번 나열하고, 값 입력 없이 틀을 만들어줌.(바깥쪽 for)
=> 012
012
012
이렇게 출력됨.
'Java' 카테고리의 다른 글
Java(객체, 클래스, Scanner 클래스) (0) | 2024.04.15 |
---|---|
Java(반복문 while, do-while문) (0) | 2024.04.12 |
Java(연산자 - 관계(비교), 논리, 빠른 평가, 삼항(조건)) (0) | 2024.04.10 |
Java(연산자 - 항, 대입, 부호, 증감과 감소, 복합 대입) (0) | 2024.04.09 |
Java(상수/리터럴, 형변환과 컴파일) (0) | 2024.04.09 |