Back-End/JAVA

[Java] 반복문(while)

챌링킴 2021. 5. 17. 20:02
반응형

1) 반복문

특정한 코드나 행위를 반복해야할 때 사용하는 문장

- 조건에 의한 반복문

        while

        do~ while

- 횟수에 의한 반복문

        for

 

2) while문

       while(조건식){

              조건식의 연산 결과가 참이면 반복수행

       }

 

3) do while문

while문과 동일하지만 무조건 한번은 실행한다.

 

       do{

              조건식의 연산 결과가 참이면 반복수행

       }while(조건식);

 

무한반복

       while(true){

              무한반복할 문장

       }

 

4) while문 요약

while문 뒤의 () 안에는 조건식, 즉 boolean 타입의 값이 와야한다.

따라서 그 안에 true라는 값을 넣을 수 있고 그 값은 상수로 작성했기 때문에

절대 변하지 않는다. 따라서 그 while문은 무한정으로 반복하게 된다.

안에서 특정한 조건일 때 if문 안의 break로 탈출구를 하나 이상 만들어 줘야한다.

 

5) while문 실행예제

import java.util.Scanner;

public class Quiz {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int choice = 0;
        
		while (choice != 3) {
		System.out.println("다음 중 웹개발 강사의 이름은?\n1. 이다솔\n2. 김다솔\n3. 정다솔\n4. 한동석");
		choice = sc.nextInt();
		if (choice == 1 || choice == 2 | choice == 4) {
			System.out.println("오답");
		} else if (choice == 3) {
			System.out.println("정답");
		} else {
			System.out.println("잘못 입력하셨습니다.");
			}
		}
        
		//do~while문
		do {
			System.out.println("다음 중 웹개발 강사의 이름은?\n1. 이다솔\n2. 김다솔\n3. 정다솔\n4. 한동석\n0. 나가기");
			choice = sc.nextInt();
			if (choice == 1 || choice == 2 | choice == 4) {
				System.out.println("오답");
			} else if (choice == 3) {
				System.out.println("정답");
			} else if (choice == 0) {
				System.out.println("안녕히가세요");
			} else {
				System.out.println("잘못 입력하셨습니다.");
			}
		} while (choice != 0);
		
		while(true) {
			System.out.println("다음 중 웹개발 강사의 이름은?\n1. 이다솔\n2. 김다솔\n3. 정다솔\n4. 한동석\n0. 나가기");
			choice = sc.nextInt();
			if (choice == 1 || choice == 2 | choice == 4) {
				System.out.println("오답");
			} else if (choice == 3) {
				System.out.println("정답");
				break;
			} else if (choice == 0) {
				System.out.println("안녕히가세요");
				break;
			} else {
				System.out.println("잘못 입력하셨습니다.");
			}
		}
	}
}
반응형

'Back-End > JAVA' 카테고리의 다른 글

[Java] 기타연산자(break, continue)  (0) 2021.05.17
[Java] 반복문(for)  (0) 2021.05.17
[Java] 누적 대입 연산자, 증감 연산자  (0) 2021.05.17
[Java] String타입 함수  (0) 2021.05.14
[Java] 제어문(switch문)  (0) 2021.05.14