● 반복문
2. while문
- 조건식이 true일 때 반복하고, false일 때 종료한다.
while(조건식) {
실행할 문장;
}
● for문과 while문 비교
- for : 몇 번 반복할 지 알 때 사용한다.
- while : 몇 번 반복할 지 모를 때 사용한다.
● 기타 제어문
1. break
- 즉시 해당 중괄호 영역을 탈출한다.
- if문 안에서 break를 사용하면, if문을 탈출하지 않고 if문을 감싸고 있는 중괄호 영역을 탈출한다.
2. continue
- 즉시 다음 반복
- continue 아래에 작성된 코드를 실행하지 않기 위해서 사용한다.
● do~while문
- 조건식이 처음부터 false일지라도 무조건 한 번은 반복한다
do {
실행할 문장;
} while(조건식);
※ for vs whlie vs do~while
실습(for문)
1. 이름 10번 출력하기
public class ForTest {
public static void main(String[] args) {
for(int i = 1; i < 11; i++) {
System.out.println("홍길동");
}
}
}
2. 이름을 10번 출력하되, 이름 앞에 1~10까지 번호를 붙여서 출력하기(초기값은 0으로 하고 1씩 증가한다)
public class ForTest {
public static void main(String[] args) {
for(int i = 0; i < 10; i++) {
System.out.println(i + 1 + ". 홍길동");
}
}
}
3. 이름을 10번 출력하되, 이름 앞에 10~1까지 번호를 붙여서 출력하기(초기값은 0으로 하고 1씩 증가한다)
public class ForTest {
public static void main(String[] args) {
for(int i = 0; i < 10; i++) {
System.out.println(10 - i + ". 홍길동"); // 10 - 0, 10 - 1, 10 - 2, ...
}
}
}
실습(while문)
1. 이름 10번 출력
public class WhileTest {
public static void main(String[] args) {
int index = 0;
while(index != 10) { // index 값이 10이 되면 반복문 종료
System.out.println("홍길동");
index++;
}
}
}
2. 아래 내용을 참고하여 심리 테스트 프로그램 작성하기
※ 참고
/*
* Q. 당신이 좋아하는 색을 선택하세요.
* 1. 빨간색
* 2. 노란색
* 3. 검은색
* 4. 흰색
*
* 빨간색 : 불같고 열정적이고 적극적이다.
* 노란색 : 발랄하고 밝고 귀엽고 개성있고 유하다.
* 검은색 : 묵묵하고 든든하고 냉철하고 멋지다. 그리고 강하다.
* 흰색 : 천사같고 깔끔하고 정리를 좋아하고 배려심이 많다.
*/
- 코드 (switch문을 이용하여 while문 탈출하기)
import java.util.Scanner;
public class WhileTask {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String qMsg = "Q. 당신이 좋아하는 색을 선택하세요.\n"
+ "1. 빨간색\n"
+ "2. 노란색\n"
+ "3. 검은색\n"
+ "4. 흰색\n"
+ "5. 나가기\n";
String redMsg = "불같고 열정적이고 적극적이다.";
String yellowMsg = "발랄하고 밝고 귀엽고 개성있고 유하다.";
String blackMsg = "묵묵하고 든든하고 냉철하고 멋지다. 그리고 강하다.";
String whiteMsg = "천사같고 깔끔하고 정리를 좋아하고 배려심이 많다.";
String exitMsg = "종료합니다";
String errMsg = "다시 시도해주세요";
String result = "";
int choice = 0;
while(choice != 5) { // choice 값이 5가 되면 반복문 종료
System.out.print(qMsg);
choice = sc.nextInt();
switch(choice) {
case 1: // choice 값이 1이면
result = redMsg; // result에 redMsg 값을 담은 후
break; // 반복문 종료
case 2:
result = yellowMsg;
break;
case 3:
result = blackMsg;
break;
case 4:
result = whiteMsg;
break;
case 5:
result = exitMsg;
break;
default:
result = errMsg;
break;
}
System.out.println(result);
}
}
}
- 코드 (if문을 이용하여 while문 탈출하기)
while(true) { // true : 무한반복
System.out.print(qMsg);
choice = sc.nextInt();
if(choice == 5) { // choice 값이 5이면
System.out.println(exitMsg);
break; // while문(if문을 감싸고 있는 중괄호{}) 종료
}
switch(choice) {
case 1:
result = redMsg;
break;
case 2:
result = yellowMsg;
break;
case 3:
result = blackMsg;
break;
case 4:
result = whiteMsg;
break;
default:
result = errMsg;
break;
}
System.out.println(result);
}
실습(기타 제어문)
1. break
- 1~10까지 중 4까지만 출력하기
public class Oper6 {
public static void main(String[] args) {
for(int i = 0; i < 10; i++) {
System.out.println(i + 1);
if(i == 3) { // 4번째 반복에서 반복문 종료
break;
}
}
}
}
2. continue
- 1~10까지 중 4를 제외하고 출력하기
public class Oper6 {
public static void main(String[] args) {
for(int i = 0; i < 10; i++) {
if(i == 3) {
continue; // 즉시 다음 코드로 넘어간다.
}
System.out.println(i + 1);
}
}
}
- A~F까지 중 C를 제외하고 출력하기
public class Oper6 {
public static void main(String[] args) {
for(char i = 'A'; i < 'G'; i++) {
if(i == 'C') {
continue;
}
System.out.println((char)(i));
}
}
}
실습(do~whlie문)
1. 상담원 연결 프로그램
import java.util.Scanner;
public class DoWhileTest {
public static void main(String[] args) {
String msg = "1. 통신요금 조회\n2. 번호 이동\n3. 분실 신고\n0. 상담원 연결";
Scanner sc = new Scanner(System.in);
int choice = 0;
do { // msg는 무조건 출력한 후, 조건식에 따라 choice 값이 0이라면 반복문을 종료한다.
System.out.println(msg);
choice = sc.nextInt();
} while(choice != 0);
}
}
'웹 개발 > Java' 카테고리의 다른 글
[Web_JAVA] 10 (0) | 2022.02.24 |
---|---|
[Web_JAVA] 09 (0) | 2022.02.23 |
[Web_JAVA] 07 (0) | 2022.02.21 |
[Web_JAVA] 06 (0) | 2022.02.20 |
[Web_JAVA] 05 (0) | 2022.02.19 |