중첩반복문
- 중첩반복문에서 break 문이 실행될 경우, 하나의 반복문만 벗어난다.
예시
2중 중첩 for 문을 사용하여 구구단을 출력하는 프로그램을 작성하라.
public class NestedLoop {
public static void main(String[] args) {
for(int i=1; i<10; i++) {
for(int j= 1; j<10; j++) {
System.out.print(i+"*"+"="+ i*j);
System.out.print('\t');
}
System.out.println();
}
}
}
실행결과
1*=1 1*=2 1*=3 1*=4 1*=5 1*=6 1*=7 1*=8 1*=9
2*=2 2*=4 2*=6 2*=8 2*=10 2*=12 2*=14 2*=16 2*=18
3*=3 3*=6 3*=9 3*=12 3*=15 3*=18 3*=21 3*=24 3*=27
4*=4 4*=8 4*=12 4*=16 4*=20 4*=24 4*=28 4*=32 4*=36
5*=5 5*=10 5*=15 5*=20 5*=25 5*=30 5*=35 5*=40 5*=45
6*=6 6*=12 6*=18 6*=24 6*=30 6*=36 6*=42 6*=48 6*=54
7*=7 7*=14 7*=21 7*=28 7*=35 7*=42 7*=49 7*=56 7*=63
8*=8 8*=16 8*=24 8*=32 8*=40 8*=48 8*=56 8*=64 8*=72
9*=9 9*=18 9*=27 9*=36 9*=45 9*=54 9*=63 9*=72 9*=81
continue 문
- continue 문이 실행되면 for 문은 반복 후 작업 단계로 넘어간다.
- continue 문이 실행되면 do-while 문과 while 문은 조건식으로 넘어간다.
예시
5개의 정수를 입력받고 그 중 양수들만 합하여 출력하는 프로그램을 작성하라.
(입력된 수가 0이나 음수이면 continue 문을 이용하여 합하지 않고 다음 반복으로 넘어간다.)
import java.util.Scanner;
public class ContinueExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int sum = 0;
int input;
int i;
for(i= 1; i<=5; i++) {
input = scanner.nextInt();
if(input <=0)
continue;
else
sum +=input;
}
System.out.print("합:"+sum);
scanner.close();
}
}
실행결과
3
-5
19
-9
33
합:55
break 문
- break 문이 실행되면 현재 반복문을 벗어난다.
예시
"exit"이 입력되면 while 문을 벗어나도록 break 문을 활용하는 프로그램을 작성하라.
import java.util.Scanner;
public class BreakExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("exit를 입력하면 종료합니다.");
while(true) {
System.out.print(">>");
String text = scanner.nextLine();
if(text.equals("exit"))
break;
}
System.out.println("종료합니다...");
scanner.close();
}
}
실행결과
exit를 입력하면 종료합니다.
>>edit
>>check
>>exit
종료합니다...
특정한 문자열이 입력될 때까지 계속 반복하도록 하기 위해서 먼저 while 문 조건식에 true를 해서 무한반복하도록 한다. Scanner 클래스를 이용해서 값을 입력받고 if문을 활용하여 "exit"를 입력받으면 break 문을 통하여 while 문을 빠져나오도록 한다.
while 문을 무한반복하도록 한 뒤, if 문을 활용해서 반복을 탈출하도록 코딩하는 것이 꿀팁이다.!! 문자열 비교 시 equals()를 사용한다. 문자열이 같으면 equals()는 true를 리턴한다.
'Java > 기본 프로그래밍' 카테고리의 다른 글
[JAVA] 다차원 배열 ( 2차원 배열, 비정방형 배열 ) (1) | 2024.01.30 |
---|---|
[JAVA] 배열 ( 배열 기초, length필드, for-each 문 ) (1) | 2024.01.29 |
[JAVA] 반복문 ( for 문, while 문, do-while 문 ) (0) | 2024.01.25 |
[JAVA] 조건문 ( if 문, if-else 문, switch 문 ) (1) | 2024.01.24 |
[JAVA] 자바에서 키 입력 ( Scanner 객체 ) (0) | 2024.01.23 |