본문 바로가기

Java

[Java] 13

● 제어문

2. 반복문

(2) while문

while(조건식) {

    반복할문장;

}

while문바깥문장;

While문

1. while문을 만나면 조건식을 확인한다.

2. 조건식이 참이라면 while문 안으로 들어와서 코드를 실행한다.

3. while문 닫는 중괄호를 만나면 다시 조건식으로 이동한다.

→ 조건식이 참이라면 계속하고, 아니라면 반복을 그만둔다.

for문 vs while문

- for문 : 몇 번 반복해야 할지 알 때 사용하면 좋다.

- while문 : 몇 번 반복해야 할지 모를 때 사용하면 좋다.

(3) do ~ while문

do{

    최초한번은조건식관계없이실행될문장;

    ....

} while(조건식);

- do 영역은 최초 한 번은 조건식 관계없이 실행되고, 그 이후에는 조건식의 결과에 따라 반복 여부가 결정된다.

continue

- 자기 자신을 감싸고 있는 가장 가까운 반복문에서 즉시 다음 반복을 실행한다.

break

- 자기 자신을 감싸고 있는 가장 가까운 반복문을 종료(탈출)한다.


실습(while문)

1. 반복문 안의 문장과 바깥 문장 출력하기

- for문

public class WhileTest {
	public static void main(String[] args) {

		for(int i = 0; i < 3; i++) {
			System.out.println("for문 안의 문장");
		}
		System.out.println("for문 바깥 문장");
	
	}
}

 

결과

 

- while문

public class WhileTest {
	public static void main(String[] args) {

		int i = 0;

		while(i < 3) {
			System.out.println("while문 안의 문장");
			i++;  // i = i + 1;
		}
		System.out.println("while문 바깥 문장");

	}
}

 

결과

 

​​

2. 사용자가 '3. 마감하기'를 입력할 때까지 무한 반복 입력받기

import java.util.Scanner;

public class WhileTest {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);

		while(true) {
			System.out.println("안녕하세요");
			System.out.println("1. 주문하기  2. 결제하기  3. 마감하기");
			int choice = sc.nextInt();

			if(choice == 3) {
				break; // break는 즉시 자신을 감싸고 있는 가장 가까운 반복문을 종료한다.
			}

		}

	}
}

 

결과

 

실습(while문 + do~while문)

1. 사용자가 '3. 종료하기'를 입력할 때까지 무한 반복 입력받기

- if문을 이용하여 조건식 작성하는 방법

import java.util.Scanner;

public class DoWhileTest {
	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		int choice = 0; // choice 변수 초기화

		while(true) {
			System.out.println("1. 송금하기  2. 인출하기  3. 종료하기");
			choice = sc.nextInt();
			if(choice == 3) {
				break;
			}
		}
		
	}
}

 

결과

 

​​

- != 를 이용하여 조건식 작성하는 방법

import java.util.Scanner;

public class DoWhileTest {
	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		int choice = 0; // choice 변수 초기화
		
		while(choice != 3) {
			System.out.println("1. 송금하기  2. 인출하기  3. 종료하기");
			choice = sc.nextInt();
		}
		
	}
}

 

결과

 

​​

2. do~while(변수의 초기화값과 입력하는 값이 동일한 경우 사용)

import java.util.Scanner;

public class DoWhileTest {
	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		int choice = 0; // choice 변수 초기화
		
		do {
			System.out.println("1. 송금하기  2. 인출하기  0. 종료하기");
			choice = sc.nextInt();
		} while(choice != 0);
		
	}
}

 

결과

 

 

 

'Java' 카테고리의 다른 글

[Java] 15  (0) 2022.01.06
[Java] 14  (0) 2022.01.03
[Java] 12  (0) 2021.12.29
[Java] 11  (0) 2021.12.28
[Java] 10  (0) 2021.12.27