!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
공부는 계속된다!
!
!
!
!
나는 매일 글을 쓰려고 노력한다
공부가 늦어서 하루에 다 쓰지 못하는 경우가 많습니다.
이 토끼 요즘 나랑 닮았어
(귀엽지 않은 나) 앞머리 없이 맨날 안경 끼고 앉아
이 그림은 내가 이미 쓴 모든 것에 넣어야 겠어요~!
리본
어떤 일 반복해서 실시제조에 사용
고정과 가변을 구별하는 것이 중요합니다.
for 루프, while 루프 및 do while 루프가 있습니다.
for 문과 while 문은 구조와 기능이 비슷하여 서로 변환이 가능합니다.
진술에
반복 횟수를 알고 있을 때 사용합니다.
중첩 for 문: 다른 for 문 안에 다른 for 문을 중첩할 수 있습니다.
for (초기화; 조건식; 증감식) {
// 조건식이 참인 경우 수행될 문장
}
* for 문의 실행 순서
1) 초기화
2) 조건식이 참인지 확인
3) true인 경우 중괄호 { } 안에 있는 명령문을 실행합니다.
4) 세레머니 증감
5) 조건식 확인
5-1) 그래도 맞다면 3번으로 가세요.
5-2) 거짓이면 for문을 종료한다.
* 주의
– 조건식의 철자가 틀리면 { } 블록 안의 문장이 실행되지 않거나 무한 반복될 수 있습니다.
– 조건식이 생략되면 true로 간주되어 무한 루프가 됩니다.
(필요에 따라 사용 가능)
– 증감식은 i++, i– 외에도 다양한 표현을 추가할 수 있습니다.
예) *로 왼쪽 삼각형 만들기
package ch4_Scope;
public class EX_01_For {
public static void main(String() args) {
for (int i = 1; i < 6; i++) {
for (int j = 1; j <= i; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
while 문
반복 횟수를 알 수 없을 때 주로 사용
while도 중첩 가능조건식이 거짓이면 전체 명령문을 건너뜁니다.
∴ 처음부터 조건식이 거짓이면 전체 문장을 건너뜁니다.
초기화 또는 증분 표현식이 필요하지 않은 경우 for 문보다 while 문이 더 적합합니다.
while ( "조건식" ) {
"조건식"의 연산결과가 true 인 동안, 반복될 문장
}
while 문의 실행 순서
1-1) 조건식이 거짓인 경우
2-1) while 문 탈출
1-2) 조건식이 참일 때
2-2) 블록 { }의 문장을 실행하고 다시 조건식으로 돌아갑니다.
(다시 반복하라)
do-while 문
while 문의 변형
조건식 및 중괄호 { } 순서 변경
중괄호 { } 안에 있는 문은 한 번만 실행되도록 보장됩니다.
do {
"조건식"의 연산결과가 true 일 때 수행될 문장들 (처음 한 번은 무조건 실행)
} while ( "조건식" );
예) while 문: 1부터 10까지의 난수 추측
package ch4_Scope;
import java.util.Scanner;
public class _01_Loop_While {
public static void main(String() args) {
System.out.println("0~9까지의 숫자 하나 입력하세요 : ");
Scanner scanner = new Scanner(System.in);
int input = scanner.nextInt();
int random = (int)((Math.random() *10) + 1);
while (input !
= random) {
System.out.println("틀렸습니다.
");
System.out.print("숫자를 하나 입력하세요 : ");
input = scanner.nextInt();
}
System.out.println("정답입니다.
");
}
}
예) while과 do-while 비교: 결과는 어떻게 될까요?
package ch4_Scope;
public class EX03_LoopDoWhile {
public static void main(String() args) {
// 일반 while 문
int i = 5; // 초기화
while (i < 5) { // 조건식
System.out.println("coding everyday " + i);
i++; // 증감식
}
System.out.println("-----------------------");
i = 0;
// do while 문
i = 5; // 초기화
while (i < 5) { // 조건식
System.out.println("coding everyday " + i);
i++; // 증감식
}
}
}
부서지다
계속해
break: 자신을 포함하는 다음 것 루프 탈출
계속: 반복 중에 계속이 발생하는 경우 루프의 끝이동 다음 반복(건너뛰기)
실제 사례를 보는 것이 가장 좋습니다!
🙂
예) 선택
package ch4_Scope;
import java.util.Scanner;
public class EX_04_Break {
public static void main(String() args) {
// break 문은 자신이 포함한 가장 가까운 반복문 하나를 벗어난다.
int menu = 0;
int num = 0;
Scanner scanner = new Scanner(System.in);
while(true) {
System.out.println("(1) Square");
System.out.println("(2) Square root");
System.out.println("(3) log");
System.out.print("원하는 메뉴(1~3)를 선택하세요(종료:0) > ");
String tmp = scanner.nextLine();
menu = Integer.parseInt(tmp); // 입력 받은 문자열을 숫자로 변환
if(menu == 0){
System.out.println("프로그램을 종료합니다");
break;
} else if (!
(1 <= menu && menu <= 3)) {
System.out.println("메뉴를 잘못 선택하셨습니다.
(종료는 0)");
continue;
}
System.out.println("선택하신 메뉴는 " + menu + "번입니다.
");
}
}
}
명명된 루프
중첩된 루프 앞에 이름을 넣고 break 및 continue 문에 이름을 지정하면
하나 이상의 반복을 중단하거나 반복을 건너뛸 수 있습니다.
예)
package ch4_Scope;
import java.util.Scanner;
public class EX_04_Break {
public static void main(String() args) {
// 이름 붙은 반복문 : 반복문에 이름을 붙여서 하나 이상의 반복문을 벗어날 수 있다
Loop1 : for (int i = 2; i <= 9; i++) {
for (int j = 1; j <= 9; j++) {
if (j == 5)
break Loop1;
System.out.println(i + " * " + j + " = " + i * j);
}
System.out.println();
}
}
}