
for(int i=0; i<10; i++) {
if(i==5) {
continue;
}
System.out.print(i+" ");
}
실행결과: 0 1 2 3 4 6 7 8 9
continue는 continue 이후의 명령문을 건너뛰고 블록의 끝으로 간다.
[예제] 10개의 배열 A에 임의의 숫자가 들어있고,
continue를 사용해서 짝수의 합계만 구해라
int[] A = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int sum =0;
for(int i=0; i<10; i++) {
if(A[i]%2!=0) {
continue;
}
sum+=A[i];
}
System.out.println(sum);
실행결과: 30
짝수번 인덱스에 있는 값만 구해라.
for(int i=0; i<A.length; i+=2) {
sum+=A[i];
}
실행결과: 25
[예제] 점수에 따라 학점 구하기
90~100점: A
80~89점: B
70~79점: C
60~69점: D
59이하: F
int score = 46;
String grade = "";
switch(score/10) {
case 10: grade="A"; break;
case 9: grade="A"; break;
case 8: grade="B"; break;
case 7: grade="C"; break;
case 6: grade="D"; break;
case 5: grade="F"; break;
default: grade="F"; break;
}
System.out.println("학점: " + grade);
[예제] 로또 번호 추출기
1~45번까지 -> 배열에 저장
6개까지 고를 수 있음
package ex01;
import java.util.Random;
import java.util.Scanner;
public class Test0313_2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] lotto = new int[7];
Random rd = new Random();
int sameNum = 0; // 중복값 검사
// 중복값이 없을 때까지 생성
while(true) {
for(int i=0; i<7; i++) {
lotto[i] = rd.nextInt(45)+1;
}
for(int i=0; i<7; i++) {
for(int j=i+1; j<7; j++) {
if(lotto[i]==lotto[j]) {
sameNum++;
}
}
}
if(sameNum==0)
break;
}
int bonus = lotto[6];
System.out.println("----------------------------");
System.out.println(" 1162회 당첨결과 ");
for(int i=0; i<6; i++) {
System.out.print(lotto[i]+" ");
}
System.out.println("/ 보너스: "+lotto[6]);
System.out.println("----------------------------");
System.out.println("중복숫자 갯수: "+sameNum);
// 사용자 입력
System.out.println("1~45까지 6개의 번호를 입력하세요>>");
int[] choice = new int[6];
Scanner sc = new Scanner(System.in);
for(int i=0; i<6; i++) {
choice[i] = sc.nextInt();
}
// 맞은 개수 카운트
int sameCnt = 0;
for(int i=0; i<6; i++) {
for(int j=0; j<6; j++) {
if(lotto[i]==choice[j])
sameCnt++;
}
}
System.out.println("----------------------------");
System.out.println(" 추 첨 결 과 ");
// 보너스에 따라 2등 혹은 3등으로 분류
boolean tOrTh = false;
// 맞은 개수 별 결과 출력
switch(sameCnt) {
case 6:
System.out.println(" 당첨번호 "+sameCnt+"개 숫자일치 ");
System.out.println(" 1등입니다! 당첨금 823,931,021원");
break;
case 5: // 5개 맞았을 경우 보너스에 따라 2등 혹은 3등
for(int i=0; i<6;i++) {
if(choice[i]==bonus)
tOrTh = true;
}
if(tOrTh) {
System.out.println(" 당첨번호 "+sameCnt+"개 숫자일치 + 보너스 일치 ");
System.out.println(" 2등입니다! 당첨금 63,379,310원");
}
else{
System.out.println(" 당첨번호 "+sameCnt+"개 숫자일치 ");
System.out.println(" 3등입니다! 당첨금 1,040,317원");
}
break;
case 4:
System.out.println(" 당첨번호 "+sameCnt+"개 숫자일치 ");
System.out.println(" 4등입니다! 당첨금 50,000원");
break;
case 3:
System.out.println(" 당첨번호 "+sameCnt+"개 숫자일치 ");
System.out.println(" 5등입니다! 당첨금 5,000원");
break;
default: System.out.println("낙첨입니다."); break;
}
System.out.println("----------------------------");
}
}
실행결과

근데 중복 숫자를 없애려고 중복을 확인하는 함수를 안쓰고
while을 많이 돌리다보니까 성능이 너무 느림