전체 방문자
오늘
어제
21종
종이의 코딩 공부방
21종
  • 분류 전체보기 (171)
    • JAVA (64)
    • Springboot (46)
      • 블로그만들기 (45)
    • Database (60)
      • Oracle (60)
    • 프로젝트 3 (CELOVER) (0)
    • 개발서버 구축 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

인기 글

최근 글

최근 댓글

hELLO · Designed By 정상우.
21종

종이의 코딩 공부방

JAVA

[자바/JAVA] 프로그래밍 - 제어문 - (분기문 break,continue)

2023. 6. 1. 17:17

break; : 반복문 안에 사용 되는 분기문

break;가 실행되는 순간 현재 속해있는 반복문을 강제로 빠져나감

 

*유의 사항 : switch문 안의 break;는 단지 switch문만을 빠져나가는 구문

 


 

예제1
랜덤값(1~199) 발생시키고 그 랜덤값 출력 (이 과정 매번 반복 => 무한반복)
단, 발생된 랜덤값이 3의 배수 일 경우 (3으로 나눴을때 나머지가 0일 경우) 반복문을 빠져나와보자
while(true) {	// 무한반복
    int random = (int)(Math.random() *200 + 1);
    System.out.println("random 값 : " + random);

    if(random % 3 == 0) {	// 3의 배수
        break;	// 반복문을 강제로 빠져나가게 하는 구문
    }
}

예제2
사용자에게 문자열을 입력 받아 해당 그 문자열의 길이 출력(무한반복)
단, 사용자가 입력한 문자열이 "exit"일 경우 반복문을 빠져나가도록 함
Scanner sc = new Scanner(System.in);
while(true) {
System.out.print("문자열을 입력하세요.");
String str = sc.nextLine();

    if(str.equals("exit")) {	// 사용자가 입력한 문자가 "exit"일 때
        System.out.println("프로그램을 종료합니다.");
        break;
    }else {	// 근데 그게 아닐 경우 => 문자열의 길이 출력
        System.out.println(str + " 문자열의 길이는 : " + str.length() + "입니다.");
    }
}
sc.close();

예제3
사용자에게 단(2~9)을 입력받아 해당 단을 출력
혹시라도 잘못된 단을 입력했을 경우 다시 단을 입력받도록 유도
while(true) {
    System.out.print("단을 입력하세요 : ");
    int dan = sc.nextInt();
    if(dan >= 2 && dan <= 9) {	// 잘 입력했을 경우

        for(int i = 1; i < 10; i++) {
            System.out.printf("%d x %d = %d\n",dan,i,dan*i);
        }
        break;

    }else {	// 잘못 입력했을 경우
        System.out.println("잘못입력했습니다. 다시 입력해주세요.");
    }

}
sc.close();

continue; : 반복문 안에 기술되는 구문 

continue; 구문 실행시 그 뒤의 구문을 실행하지 않고 곧바로 현재 속해있는 반복문 위로 올라간다

 


예제1
for문으로 1부터 10까지 홀수 출력
방법1. 
for(int i= 1; i <=10; i++) {
    if(i % 2 == 1) {	// i값이 홀수일 경우
        System.out.print(i + " ");
    }
}
방법2
for (int i = 1; i <= 10; i++) {
    if (i % 2 == 0) { // i값이 짝수일 경우
        continue; // 건너뛰기
        // 반복문 실행안하고 반복문 위로 올라감 => 증감식으로 가라
    }
    System.out.print(i + " ");
}

예제2
1부터 100까지의 총합계
단, 6의 배수값은 빼고 덧셈연산 하겠다.
//1부터 100까지의 총합계를 먼저 for 문 작성 해보기

int sum = 0;
for(int i = 1; i <= 100; i++) {	// 6 12 18 24 ...
    if(i % 6 == 0) {	// 6의 배수란 이야기
        continue;	// 건너뛰고 증감만 !!
    }
    sum += i;
}
System.out.println("1부터 100까지의 합계 : " + sum);

예제3
2~9 단까지 출력
단, 3의 배수단은 빼고 출력
구구단 => 이중 for 문
for(int dan = 2;dan <= 9; dan++) {
    if(dan % 3 == 0) {
        continue;
    }else {
        System.out.println("===="+ dan + "단====");
        for(int i = 1; i <= 9; i++) {
            System.out.printf("%d x %d = %d\n",dan,i,dan*i);
        }
    }
}

break 와 continue의 차이

break; 는 반복문을 완전히 종료해버리고 

continue; 는 현재 실행중인 구문을 스킵하고 다음번 반복문을 실행한다.

 

for(int i=0;i<5;i++){
    if(i == 2) {
//    break;
//    continue;
    }
    System.out.println("Hello, world");
}

위 코드는 i = 0 1 2 3 4 까지 증가할 때마다 Hello, World 를 출력하는 코드이다.

만약 여기서 i 가 2 일 때

break; 가 들어온다면 Hello, World는 i가 0일때 1일만 출력되고 반복문은 즉시 종료가 된다. i가 0, 1 일때만 동작되므로 Hello, World는 총 두번 출력된다.

 

 

continue; 가 들어온다면 Hello, World는 i가 0일때 1일때 출력되고, i가 2일 때 continue 아래 구문은 실행하지 않고 반복문을 다시 실행한다. 즉 Hello, World는 i가 0, 1, 3, 4 일때만 출력되므로 총 4번 출력된다.

 

    'JAVA' 카테고리의 다른 글
    • [자바/JAVA] 프로그래밍 - 배열복사 (Array copy)
    • [자바/JAVA] 프로그래밍 - 배열 (Array)
    • [자바/JAVA] 프로그래밍 - 제어문 종합 실습 예제
    • [자바/JAVA] 프로그래밍 - 반복문(for,while) 실습 예제
    21종
    21종
    코딩 공부한 것 정리하려고 만든 블로그

    티스토리툴바