반복문에서는 break문 자신이 포함된 가장 가까운 반복문을 빠져나가는 구문
for(초기값1; 조건식1; 증감식1) { 수행될 코드1; for(초기값2; 조건식2; 증감식2) { 수행될 코드2; break; } 수행될 코드3; [break;] }
for(int i = 1 ; i <= 10 ; i++) {
System.out.print(i + " ");
if(i == 5) {
break; // 반복문을 멈춤
}
}
Scanner sc = new Scanner(System.in);
int input = 0;
int sum = 0;
// while문은 처음에 무조건 수행하고, 특정 조건에 종료하는 방법
// 1) input에 초기값을 0이 아닌 다른 값
// while(input !=0)
// 2) do ~ while 문 사용
// 3) 무한 루프 상태의 while문을 만들고
// 내부에 break 조건 작성
while(true) { // 무한 루프
System.out.print("정수 입력 : ");
input = sc.nextInt(); // 입력
// 입력받은 수가 0인지 검사 (while 종료 조건)
if(input == 0) {
break;
}
sum += input; // 누적
}
System.out.println("합계 : " + sum);
// Unreachable code (도달할 수 없는 코드)
Scanner sc = new Scanner(System.in);
String str = ""; // 빈 문자열
// 쌍따옴표("")라는 기호를 이용해 String 리터럴임을 지정
// 하지만 내용이 없음
while(true) { // 무한 루프
System.out.print("문자열 입력(exit@ 입력 시 종료) : ");
String input = sc.nextLine();
// next() : 다음 한 단어 (띄어쓰기 포함 X)
// nextLine() : 다음 한 줄 (띄어쓰기 포함)
// 입력받은 문자열이 "exit@" 이면 반복 종료
//if(input == "exit@") {
if(input.equals("exit@")) {
// String 자료형은 비교 연산자(==)로 같은 문자인지 판별할 수 없다.
// 비교 연산자는 보통 기본 자료형 끼리의 연산에만 사용 가능하다.
// -> String은 기본 자료형이 아닌 참조형
// ** 해결 방법 : 문자열1.equals(문자열 2) 으로 비교 가능하다 **
break;
}
str += input + " \n"; // 누적 시 개행문자 추가
} // while 끝
System.out.println("------------------------");
System.out.println(str);
[예제 4] 중첩 반복문 내부에서 break 사용하기
구구단 2~9단까지 모두 출력
단, 2단은 x2까지, 3단은 x3까지 ... 9단은 x9
for(int dan = 2; dan <= 9; dan++) {
for(int num = 1; num <= 9; num++) {
System.out.printf("%d X %d = %2d ", dan, num, dan * num);
if(dan == num) { // 단과 곱해지는 수가 같을 경우
break;
// 분기문이 중첩 반복문 내에서 사용되면
// 가장 가까운 반복문에 작용한다!
}
}
System.out.println(); // 줄 바꿈
}
- 반복문 내에서만 사용 가능하며
반복문 실행 시 continue 아래 부분은 실행하지 않고 반복문 다시 실행- for문의 경우 증감식으로 이동, while(do~while)문의 경우 조건식으로 이동
- 전체 반복 중에 특정 조건을 만족하는 경우를 제외하고자 할 때 유용
// break : 반복문을 바로 멈춤
// continue : 다음 반복으로 넘어감
for(int i = 1; i <= 10; i++) {
if( i %3 == 0) { // i가 3의 배수인 경우
continue;
}
System.out.print(i + " ");
}
for(int i = 1; i <= 100; i++) {
if(i == 40) {
break;
}
if(i %5 == 0) {
continue;
}
System.out.print(i + " ");
}
0.0 이상 1.0 미만의 난수를 생성하는 메서드
int random = (int)(Math.random() * 3 + 1);
// 0.0 <= x < 1.0
// 0.0 <= x * 3 < 3.0
// 1.0 <= x * 3 + 1 < 4.0
// 1 <= (int)(x * 3 + 1) < 4
// == 1 이상 4 미만의 정수 == 1 2 3