- 이번에는 반복문인 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); //출력
}
}
- 코드에 주석으로 설명을 달아놨으니 확인 바랍니다.
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번을 누르니 반복을 아예 벗어나는 것을 확인할 수 있습니다.
'컴퓨터언어 > JAVA(자바)' 카테고리의 다른 글
[JAVA강좌] 21강 클래스와 객체 (0) | 2024.01.16 |
---|---|
[JAVA강좌] 20강 자바기본문법으로 게임제작하기 - 업다운게임 (0) | 2024.01.16 |
[JAVA강좌] 18강 반복문 - for문 (0) | 2024.01.11 |
[JAVA강좌] 17강 반복문 - while과 do while (0) | 2024.01.11 |
[JAVA강좌] 16강 조건문 - switch문 (0) | 2024.01.11 |