-
11. 조건문/반복문_3[JAVA] 2023. 5. 12. 17:45
1. 중첩 for문
- for문 내에 또 다른 for문을 포함시킬 수 있다.
2. while문 *for문이랑 호환됨
- 조건을 만족시키는 동안 {}을 반복 - 반복횟수 모를 때 사용하기 좋음
while (조건식) {
(연산결과가 true인동안 반복될 문장들)
}
3. do-while 문
- {}을 최소한 한번 이상 반복 - 사용자 입력 받을 때 유용
do { 1. 먼저 실행
(조건식의 연산 결과가 true일 때 수행될 문장들을 적는다)
} while (조건식); 2. 실행
4. break 문
- 자신이 포함된 하나의 반복문을 벗어난다.
while(true) {
if(sum > 100)
break;
++i; // break문의 수행되면 이 부분은 실행되지 않고 while문을 완전히 벗어난다.
sum += i;
}
5. continue문
- 자신이 포함된 반복문의 끝으로 이동 - 다음 반복으로 넘어감
전체 반복 중에서 특정 조건시 반복을 건너뛸 때 유용
6. 이름 붙은 반복문
- 반복문에 이름을 붙여서 하나 이상의 반복문을 벗어날 수 있다.
for문에 loop1이라는 이름을 붙이고
break 'loop1';<연습문제>
1.중첩for문
// 중첩for문
for(int i=2; i<=9; i++) {
for(int j=1; j<=9;j++) {
System.out.println(i+" * "+j+" = "+(i*j));
}
System.out.println();
}
for (int i=1; i<=5; i++) { // i= {}안의 내용을 5번 반복
for(int j=1; j<=10; j++) {
System.out.print("*"); //2번째 for문안에 해당되는 것, *=10개
}
System.out.println(); //1번째 for문에 해당되는 것, *=10개가 5줄로 출력
}
for (int i = 1; i <=5; i++) {
for (int j=1; j <= i; j++){ // *의 개수가 i가 증가하는 만큼 증가함
System.out.print("*");
}
System.out.println();
}2. while문
// while문
// 1. 반복할 횟수
int w = 5;
// 2. 반복될 문장
while(w--!=0) { // w가 0과 같지 않을 때 false로 출력 반복 끝 즉, 0까지 나옴
System.out.println( w + "- I can do it.");
}
int sum = 0;
int i = 0;
while (sum <= 100) {
System.out.printf("%d - %d%n", i, sum);// 1~13까지, 14는 105로 100을 넘어감
// i를 1씩 증가하면서 sum에 계속 더한다, 0+1=1 => 1+2=3 => 3+3=6 ... 78+13=91
sum += ++i;
}3. 각 자리수의 합 (Scanner, while)
int num = 0, sum = 0;
System.out.print("숫자를 입력하세요: ");
Scanner scan = new Scanner(System.in);
String tmp = scan.nextLine();
num = Integer.parseInt(tmp);
while(num!=0) {
sum += num%10; // sum = sum + num%10
System.out.printf("sum=%3d num=%d%n", sum, num);
num /= 10; // num을 10으로 나눈 값을 num에 저장
}
System.out.println("각 자리수의 합: "+sum);
}
}4. break문 (while, if, break)
int sum = 0;
int i = 0;
while (true) { //무한 반복문 ==> for(;true;) {}
if (sum > 100) // 무한 반복하다가 조건 실행이 되면 break 실행 while문 빠져나감
break;
++i;
sum += i;
} // 14까지 더하면 105로 100이 넘음! if문 충족
System.out.println("i="+i);
System.out.println("sum="+sum);
}
}5. 메뉴 반복 (while, Scanner, break, contunue)
int menu = 0;
int num = 0;
Scanner scan = new Scanner(System.in);
while(true) { //무한반복
System.out.println("(1) A");
System.out.println("(2) B");
System.out.println("(3) C");
System.out.print("원하는 메뉴를 선택하세요(1~3, 종료=0)");
String tmp = scan.nextLine(); // new Scanner(System.in)의 내용을 tmp에 저장
menu = Integer.parseInt(tmp); // tmp를 숫자로 변환
if (menu==0) {
System.out.println("종료");
break;
} else if (!(1 <= menu && menu <=3)) { //1~3 범위가 아닐때
System.out.println("메뉴를 잘못 선택하셨습니다.");
continue;
}
System.out.println("선택하신 메뉴는: " + menu + "번입니다."); // 출력 후 다시 메뉴 나옴
}
}
}'[JAVA]' 카테고리의 다른 글
14. 배열_3 (0) 2023.05.17 12. 배열_1 (0) 2023.05.17 10. 조건문/반복문_2 (3) 2023.05.11 9. 조건문/반복문_1 (0) 2023.05.11 8. 연산자_2 (0) 2023.05.10