● 제어문
1. 조건문
(2) switch문
switch(변수명) {
case 값1:
변수의 값이 값1일 때 수행할 영역
case 값2:
변수의 값이 값2일 때 수행할 영역
....
default:
변수의 값이 위의 값이 모두 아닐 때 수행할 영역
}
※ if문 vs switch문
- 모든 switch문은 if문으로 바꿀 수 있다.
- 모든 if문을 switch문으로 바꿀 수 없다.
2. 반복문
(1) for문
for(초기식; 조건식; 증감식) {
반복할문장;
}
for문바깥문장;
(2) while문
(3) do~while문
실습(Switch문)
1. num의 값이 5일 때 출력되는 문구 확인
※ Switch문의 바깥 문장은 값에 상관없이 항상 출력된다.
public class SwitchTest {
public static void main(String[] args) {
int num = 5;
switch(num) {
case 10:
System.out.println("10입니다");
break;
case 20:
System.out.println("20입니다");
break;
case 5:
System.out.println("5입니다");
break;
default:
System.out.println("그 외 입니다");
break;
}
System.out.println("switch문 바깥 문장");
}
}
2. 사용자에게 월을 입력 받아서 해당 월의 마지막 날짜를 출력하기(Switch 사용, 2월은 28일까지)
import java.util.Scanner;
public class SwitchTask {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("월 입력 >> ");
int month = sc.nextInt();
switch(month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
System.out.println("31일입니다");
break;
case 4:
case 6:
case 9:
case 11:
System.out.println("30일입니다");
break;
case 2:
System.out.println("28입니다");
break;
default:
System.out.println("잘못입력했습니다");
break;
}
}
}
3. 사용자에게 점수를 입력받아(int) {90 이상 : A, 80 이상 90 미만 : B, 70 이상 80 미만 : C, 그 외 : D}로 출력하기
import java.util.Scanner;
public class SwitchTask {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("점수 입력 >> ");
int score = sc.nextInt();
switch(score / 10) {
case 10:
case 9:
System.out.println("A");
break;
case 8:
System.out.println("B");
break;
case 7:
System.out.println("C");
break;
default:
System.out.println("F");
break;
}
}
}
실습(for문)
1. 0부터 9까지의 수를 1씩 증가하여 출력하기
public class ForTest {
public static void main(String[] args) {
for(int i = 0; i < 10; i = i + 1) {
System.out.println(i);
}
// System.out.println(i); // 이 위치에서의 i의 값은 10가 된다
// i = i + 1로 10이 된 다음, i < 10으로 인해 false가 되어 10인 상태로 for문을 탈출한다.
}
}
2. 5부터 10까지의 수를 2씩 증가하여 출력하기
public class ForTest {
public static void main(String[] args) {
for(int i = 5; i <= 10; i = i + 2) {
System.out.println(i);
}
}
}