티스토리 뷰
반응형
1. 조건문
- 조건의 참, 거짓에 따라 서로 다른 작업을 수행한다.
- 주어진 조건을 비교 판단하여 조건에 만족할 경우 지정된 명령을 실행하고, 만족하지 않을 경우 다음단계의 명령을 수행하도록 하는 구문
2. 단순 if문
if (조건식) {
<수행할 문장1>; // 조건식이 참인 경우 실행
<수행할 문장2>;
...
}
- 조건식이 참(true)이면 if 내부의 '수행할 문장'이 실행되며, 거짓(false)이면 if문을 벗어난다.
if문 예제
import java.util.Scanner;
public class Ex01 {
public static void main(String[] args) {
// 시험 점수를 입력받아
// 80점 이상이면 합격
Scanner scan = new Scanner(System.in);
System.out.println("점수를 입력하세요 >> ");
int score = scan.nextInt();
if(score >= 80)
System.out.println("축하합니다! 합격입니다.");
}
}
3. if-else문
if (조건문) {
<수행할 문장1>;
...
} else {
<수행할 문장2>;
...
}
- '조건식'이 참(true)이면 '수행할 문장1'을 실행한 후 if-else문을 벗어나고, false이면 '수행할 문장2'를 실행한 후 if-else문을 벗어난다.
if-else문 예제
import java.util.Scanner;
public class Ex02 {
public static void main(String[] args) {
// 정수를 입력받아
// 3의 배수인지 판별
Scanner scan = new Scanner(System.in);
System.out.println("수를 입력하세요 >> ");
int number = scan.nextInt();
if (number % 3 == 0)
System.out.println("3의 배수입니다.");
else
System.out.println("3의 배수가 아닙니다.");
}
}
4. 다중 if-else문
if (조건식 1) {
<수행할 문장1>;
...
} else if (조건식 2) {
<수행할 문장2>;
...
} else if (조건식 3) {
<수행할 문장2>;
...
} else {
<수행할 문장2>;
...
}
- 위에서부터 '조건식'이 참(true)인 경우 해당하는 '수행할 문장'을 실행한 후 다중 if-else을 벗어난다.
다중 if-else문 예제
import java.util.Scanner;
public class Ex03 {
public static void main(String[] args) {
// 점수를 입력받아 학점을 부여하는 프로그램
// 90점 이상이면 A
// 80점 이상 90점 미만이면 B
// 70점 이상 80점 미만이면 C
// 60점 이상 70점 미만이면 D
// 60점 미만이면 F
Scanner scan = new Scanner(System.in);
System.out.println("점수를 입력하세요 >> ");
int score = scan.nextInt();
char grade;
if(score >= 90)
grade = 'A';
else if (score >= 80)
grade = 'B';
else if (score >= 70)
grade = 'C';
else if (score >= 60)
grade = 'D';
else
grade = 'F';
System.out.println("학점은 " + grade + "입니다. ");
}
}
5. 중첩 if-else문
- if문이나 if-else문, else문의 '수행할 문장'에 if문이나 if-else문을 내포할 수 있다.
중첩 if-else문
import java.util.Scanner;
public class Ex04 {
public static void main(String[] args) {
// 점수와 학년을 입력받아
// 60점 이상이면 합격, 미만이면 불합격
// 4학년의 경우 70점 이상 합격
Scanner scan = new Scanner(System.in);
System.out.println("점수를 입력하세요 >> ");
int score = scan.nextInt();
System.out.println("학년을 입력하세요 >> ");
int year = scan.nextInt();
if(score >= 60) {
if(year != 4)
System.out.println("합격!");
else if(score >= 70)
System.out.println("합격!");
else
System.out.println("불합격!");
}else {
System.out.println("불합격!");
}
}
}
6. switch문
switch(식) {
case 입력값1: ...
실행할 문장 1;
break;
case 입력값2: ...
실행할 문장 2;
break;
...
default: ...
실행할 문장 n;
}
- switch문을 사용하면 가독성이 높은 좋은 코드를 작성할 수 있다.
- switch문은 먼저 '식'을 계산하고 그 결과 값과 일치하는 case문으로 분기한다.
- case문의 '실행할 문장'을 실행한 수 break를 만나면 switch문을 벗어난다.
- 만일 어떤 case문으로도 분기하지 못하는 경우 default문으로 분기하여 '실행할 문장n'을 실행한다.
default문은 생략 가능하며, 실행문장은 {}으로 둘러 싸지 않는다.
switch 예제
- 다중if-else문 예제를 switch문으로 작성해보세요.
import java.util.Scanner;
public class Ex03 {
public static void main(String[] args) {
// 점수를 입력받아 학점을 부여하는 프로그램
// 90점 이상이면 A
// 80점 이상 90점 미만이면 B
// 70점 이상 80점 미만이면 C
// 60점 이상 70점 미만이면 D
// 60점 미만이면 F
Scanner scan = new Scanner(System.in);
System.out.println("점수를 입력하세요 >> ");
int score = scan.nextInt();
char grade;
switch (score/10) {
case 10:
case 9:
grade = 'A';
break;
case 8:
grade = 'B';
break;
case 7:
grade = 'C';
break;
case 6:
grade = 'D';
break;
default:
grade = 'F';
}
System.out.println("학점은 " + grade + "입니다. ");
}
}
switch문에서 break문
- case문이 실행되고 break문은 switch문을 벗어나도록 지시한다.
- 만약 case문에 break문이 없다면 break를 만날 때까지 아래 case문의 문장을 계속 실행하게 된다.
반응형
'JAVA' 카테고리의 다른 글
[Java] 배열 (2) | 2022.03.14 |
---|---|
[Java] 반복문(for문, while문, do-while문) (0) | 2022.03.12 |
[Java] 연산자 및 연산자 우선순위 (0) | 2022.03.09 |
[Java] Scanner를 이용한 키 입력 (0) | 2022.03.08 |
[Java] 변수와 자료형, 형변환 (0) | 2022.03.07 |
댓글
반응형
공지사항