본문 바로가기

웹 개발/Java

[Web_JAVA] 08

● 반복문

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