본문 바로가기
[JAVA]/[자바 기초]

[자바 기초] for, while

by 북방바다코끼리표범 2023. 7. 27.

복습

https://shins99.tistory.com/7

 

[자바 기초] if 문

복습 https://shins99.tistory.com/6 💡 학습 목표 1. if문 단독 2. if else 구문 3. if else if else 구분 4. else 구문에 의미 조건문 이란? ​ ● 주어진 조건에 따라 다른 실행이 이루어 지도록 구현 ​ ● '재산이

shins99.tistory.com


 for, while

💡 학습 목표 

반복문에 대해 이해하자 
1. 반복적인 패턴이 보인다면 그 때 for 구문을 생각해 보자. 
2. 반복적인 패턴이 보인다면 while문 도 사용할 수 있다.

조건이 참(true)인 동안 반복수행하기

● 주어진 조건에 맞는 동안(true) 지정된 수행문을 반복적으로 수행하는 제어문

● 조건이 맞지 않으면 반복하던 수행을 멈추게 됨

● 조건은 주로 반복 횟수나 값의 비교의 결과에 따라 true, false 판단 됨

 

반복문 for (index for)

● 조건식을 만족하는 동안(true) 수행문이 무한 반복됨

● 반복 횟수가 명확하게 정해져 있을 경우 유용

for (초기화식; 조건식; 증감식) {
	수행문;
    ...
}

구구단 만들어 보기

for (int i = 2; i < 10; i++) {
			for (int j = 1; j < 10; j++) {
				System.out.println(i + " * " + j + " = " + i * j);

반복문 for each (initialized for)

for (자료형 요소 변수 : 리스트) {
	코드;
}

 

반복문 while

 수행문을 수행하기 전 조건을 체크하고 그 조건의 결과가 true인 동안 반복 수행

조건은 주로 반복 횟수 or 값의 비교 결과에 따라 참, 거짓이 판단됨

  사용자의 입력 값에 따라 반복 여부가 달라지는 경우 유용

  무한 반복을 주의 해야 함.

while (조건식) {
		수행문;
        ...
}

무한 반복 할 때

while(true) {
		......
}

while 문을 이용해서 화면에 출력하는 프로그램을 만들어보기

Scanner sc = new Scanner(System.in);
		// 1 을 입력하면 화면에 '반가워' 출력
		// 0을 입력하면 종료
		int input = -1;

		while (input != 0) { // input 값이 0이 아니라면 true 결과가 나온다.
			System.out.println("1.저장 2.수정 3.삭제 4.조회 0.종료");
			input = sc.nextInt();
			if (input == 1) {
				System.out.println("저장을 선택 하셨습니다.");
			} else if (input == 2) {
				System.out.println("수정을 선택 하셨습니다.");
			} else if (input == 1) {
				System.out.println("삭제를 선택 하셨습니다.");
			} else {
				System.out.println("조회를 선택 하셨습니다.");
			}
		}

		System.out.println("종료");

반복문 do-while

● 조건과 상관 없이 한 번은 수행문을 수행한 후, 그 다음부터는 조건에 따라 반복

do {
		수행문1;
        ...
} while (조건식);
		수행문2;
        ....

 제어문 안에서 사용하는 명령어

● 감싸고 있는 제어문의 블록을 빠져 나오는 기능

● 반복문에서는 주로 조건문(if)와 같이 사용

 → 조건에 해당되는 경우 반복 수행을 멈추고 반복문 외부로 수행이 이동

● 여러 반복문이 중첩되어 있는 경우엔 break 문이 포함되어 있는 반복문만 빠져 나옴

 

break 문

● 자신을 감싸고 있는 반복문 하나의 블록을 빠져나오며, 제어문이 중단됨

● 반복문 내부에서 주로 조건문 안에 break 문을 사용

 → 조건에 해당되는 경우, 반복 수행을 멈추고 반복문 외부로 빠져 나옴

● 여러 반복문이 중첩되어 있는 경우, break문이 포함되어 있는 제어문 에서만 빠져 나옴

for (초기화식; 조건식; 증감식) {
		수행문;
        if (조건식) {
        	break;
        }
}

continue 문

 

● 반복문 내부에서 조건문 안에 continue 문을 사용

 → 조건에 해당되는 경우, 해당 반복 회차의 다른 문장들을 수행하지 않고, 다음 반복으로 넘어감

for (i = 0; i <= 100; i++) {
		if (i == a) {
        	continue;
            }
            수행문N;
}

기타

 방어적 코드 : 실행 결과가 잘 못 나왔을 때를 대비한 코드

try {
			System.out.println();
			Thread.sleep(1000);
		} catch (InterruptedException e) {
			System.out.println("0으로 나눌수 없습니다.");
			e.printStackTrace();
		}