본문 바로가기
👨‍💻 프로그래밍/Java, Kotlin, Spring

자바 14 - while 루프

by 개발자 진개미 2021. 4. 28.
반응형

while루프는 for루프와 비슷하게 코드를 반복할때 사용한다. 하지만 for루프와는 다르게 반복하는 횟수를 모를때 사용한다.

 

1. while 루프 문법

2. while 루프 예제

3. do-while 루프

4. do-while 루프 예제

 


1. while루프 문법

while 루프는 boolean 타입의 조건을 주고, 이 조건이 맞는 한 안의 코드를 계속 반복한다.

 

int var = 0;

while(var < 10) {
    System.out.println(var);
    var++;
}

 

위의 코드에서는 var이 10 미만일 한 while 루프 안의 코드를 계속 반복하게 했다. 여기서 중요한 것이, while 루프는 반드시 제시한 조건에서 빠져나올 수 있게 장치를 해야 한다는 것이다. 그렇지 않으면 무한루프가 발생해서 코드가 영원히 반복된다.

 

int var = 0;

while(var < 10) {
    System.out.println(var);
}

 

위의 코드에서는 var이 10 미만일때 var의 값을 프린트 하는데, 각 루프가 실행될 때 마다 var의 값을 변화시키지 않아서 영원히 0만 프린트 할 것이다.

 


2. while루프 예제

1. 무한히 안녕을 프린트하는 프로그램

 

while(true) {
	System.out.println("안녕");
}

 

2. 1과 10사이의 숫자를 랜덤으로 만들고, 맞출때 까지 숫자를 묻는 프로그램

 

import java.util.Scanner;

public class Guess {
	public static void main(String[] args) {
    	Scanner stdin = new Scanner(System.in);
        int target = (int)(Math.random() * 11);
        int guess;
        
        while(guess != target) {
            System.out.print("숫자를 입력하세요: ");
            guess = stdin.nextInt();
        }
        System.out.println("맞추셨습니다! 숫자는 " + target + " 입니다.");
    }
}

3. do-while 루프

do-while 루프는 코드를 일단 한 번 실행하고, 조건이 맞는지 확인한 뒤 맞으면 계속 실행하는 루프이다.

do-while 루프는 적어도 한 번 코드를 반드시 실행해야 할 경우에 쓴다. 예를 들어, 메뉴를 표시할때 do-while 루프를 쓰면 유용하다.

 

do {
	코드;
} while(조건)

4. do-while 루프 예제

메뉴를 표시하는 프로그램

 

import java.util.Scanner;

public class Menu {
	public static void main(String[] args) {
    	Scanner stdin = new Scanner(System.in);
        String selection;
		do {
            System.out.println("메뉴를 선택해 주세요.");
            System.out.println("C) 콜라");
            System.out.println("L) 레몬에이드");
            System.out.println("Q) 종료");
            System.out.print("입력하세요: ");
            selection = stdin.nextLine();
            
            if(selection.toUpperCase().equals("C"))
            	System.out.println("콜라를 선택하셨습니다!");
            if(selection.toUpperCase().equals("L"))
            	System.out.println("레몬에이드를 선택하셨습니다!");
                
            } while(!selection.toUpperCase().equals("Q"));

 

반응형