본문 바로가기

컴퓨터언어/JAVA(자바)

[JAVA강좌] 19강 반복문관련 - break와 continue

728x90
반응형

 

 

 

 

- 이번에는 반복문인 while, do while, for문에 모두 사용되는 키워드를 보도록 하겠습니다.

- break와 continue키워드인데 보통 if문을 통해 컨트롤합니다.

 

 

 

 

 

 

1. continue키워드


- continue는 현재 반복은 스킵하고 (넘어가고) , 다음 반복을 진행하는 키워드입니다.

- 반복문이 아예 종료되는 것이 아니라는 점을 기억해 주세요.

- 키워드이기 때문에 역시 변수명에 작성될 수 없습니다. 

 

 

 

1) continue 예제 

- 그럼 예제를 통해서 실습을 해보도록 하겠습니다. 

- 1부터 10 사이의 숫자를 반복적으로 출력하되, 3의 배수는 스킵하고 출력해 보겠습니다.

아래에서는 직접 실습으로 확인해 보겠습니다.

- 패키지(ch12_repeat)과 클래스(Ex12_Continue.java)를 추가해 주세요. 

- 기초적 작업을 모르는 분은 아래 주소를 클릭하고 보고 오세요.

https://ossam5.tistory.com/613

 

 

 

## continue키워드 실습1 - Ex12_Continue.java

package ch12_repeat;

public class Ex12_Continue {

	public static void main(String[] args) {
		for(int i=1;i<=10;i++) {
			if(i % 3 == 0) { //i가 3의 배수와 같다면
				continue; //현재 반복을 종료하고, 다음 반복을 실행
			}
			System.out.println(i); //i를 출력
		}
	}
}

- 코드에 대한 설명은 주석으로 처리해 놨습니다.

- 출력 코드는 3의 배수일 때 스킵이 됩니다.

 

- for문으로 작성했는데, while문과 do while도 마찬가지로 처리가 됩니다.

더보기

## continue키워드 실습2 - Ex12_Continue2.java

package ch12_repeat;

public class Ex12_Continue2 {

	public static void main(String[] args) {
		int i=0;
		while(i<10) {
			i++;
			if(i % 3 == 0) { //i가 3의 배수와 같다면
				continue; //현재 반복을 종료하고, 다음 반복을 실행
			}
			System.out.println(i); //i를 출력
		}
	}
}

 

 

 

 

## continue키워드 결과1 - Ex12_Continue.java

- 스킵된 3의 배수를 제외한 나머지 숫자만 반환하는 것을 확인할 수 있습니다. 

 

 

 

- 그럼 1~100 사이 숫자 중 홀수인 정수의 합계를 구해보세요.

- 문제를 혼자 풀어보고 더 보기를 봐주세요.

 

더보기

## continue키워드 실습3 - Ex12_Continue3.java

package ch12_repeat;

public class Ex12_Continue3 {

	public static void main(String[] args) {
		int sum = 0; //홀수 합계를 담을 변수
		
		for(int i=1;i<=100;i++) { //1~100까지 반복
			if(i % 2 == 0) { //i가 2의 배수, 즉 짝수라면
				continue; //현재 반복을 스킵하고, 다음 반복을 진행
			}
			sum += i; //sum에 i값을 더해서 대입
		}
		System.out.println("1~100사이의 홀수 합 : " + sum); //출력
	}
}

 

 - 코드에 주석으로 설명을 달아놨으니 확인 바랍니다. 

 

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형

 

 

 

 

 

 

 

 

 

 

 

 

2. break 키워드


- break는 반복문을 아예 벗어나는 키워드입니다.

- switch문에서도 봤었고, 지난번 for문 강좌에서도 살짝 봤었습니다.

 

 

 

1) break 예제 

- 이번에는 메뉴를 2개 출력하고, 사용자가 메뉴를 선택할 수 있게 처리한 후, 2를 누르면 종료하는 프로그램을 만들겠습니다.

- 첫 번째 메뉴는 홀수짝수게임으로, 사용자가 정수를 입력하면 홀수인지, 짝수인지 반환하겠습니다.

- 게임이 계속 반복되지만, 1번누르면 게임실행, 2번 누르면 종료되게 처리할게요.

 

 

 

## break 키워드 실습1 - Ex13_Break.java

package ch12_repeat;

import java.util.Scanner;

public class Ex13_Break {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in); //스캐너출력
		
		int menu = 0; //사용자가 입력한 정수받는 변수
		
        	//반복문 실행
		do {
			//메뉴 출력
			System.out.println("===홀수짝수게임===");
			System.out.println("1. 게임실행");
			System.out.println("2. 게임종료");
			
			//메뉴 입력 안내
			System.out.print("메뉴 입력 : ");
			
			//메뉴 변수 - 사용자가 입력한 정수받는 변수
			menu = scan.nextInt(); 
			
			if(menu == 1) { //사용자가 1을 입력했다면
				//메뉴 입력 안내
				System.out.print("정수 입력 : ");
				
				//정수입력받는 변수
				int num = scan.nextInt();
				
				if(num % 2 == 1) { //입력받은 정수가 홀수라면
					System.out.println("홀수");
				}else { //입력받은 정수가 짝수라면
					System.out.println("짝수");
				}
				
			}else if(menu == 2) { //사용자가 2를 입력했다면
				System.out.println("게임을 종료합니다."); //문구안내
				break; //반복문을 벗어남
			}else { //사용자가 1과 2를 입력한 것이 아닐때
				//문구 안내 후 반복문은 계속 실행
				System.out.println("메뉴를 잘못선택하였습니다."); 
			}
		}while(true); //계속 실행
        
		scan.close(); //스캐너 종료
	}
}

 

- 이번에는 do while문으로 실행해 봤습니다. 

- 반복문은 항상 true로 실행되는데, 사용자가 2번을 입력하면 반복문을 아예 벗어납니다.

- 다른 숫자를 입력하면 게임이 계속 실행되는 것을 확인할 수 있습니다.

- 자세한 설명은 주석을 달았으니 확인해봐주세요.

 

 

## break 키워드 결과1 - Ex13_Break.java

- 다른 숫자를 누르면 게임이 계속 실행되는데, 2번을 누르니 반복을 아예 벗어나는 것을 확인할 수 있습니다. 

 

 

 

 

 

 

 

 

 

728x90
반응형