[JAVA] 반복문 | for, while, do-while, break, continue문 정의 및 사용법

Re_Go·2024년 5월 26일
0

JAVA

목록 보기
7/37
post-thumbnail
post-custom-banner

1. 자바와 자바스크립트 for문의 차이

자바에서의 반복문은 자바스크립트의 반복문과 매우 유사한 형태를 띄고 있습니다. 다만 for-of문 사용법에 그 차이점을 볼 수 있겠습니다.

  1. 자바스크립트의 for-of문
const fruits = ['apple', 'banana', 'cherry'];

for (const fruit of fruits) {
    console.log(fruit);
}
  1. 자바의 for-of문
String[] fruits = {"apple", "banana", "cherry"};

for (String fruit : fruits) {
    System.out.println(fruit);
}

2. 자바의 enhanced-for문

자바스크립트에서는 단순한 for문 뿐만 아니라 데이터 대상이 배열 및 객체인지 여부에 따라 for-of, for-in문이 존재하는데요.

자바에서는 enhanced-for문이라는 for문 형식을 지원합니다. 그래서 해당 for문을 이용해 대상의 길이를 모르더라도 한 번 순회할 수 있고, 코드의 가독성을 용이하게 할 수 있다는 장점이 있죠.

String[] fruits = {"apple", "banana", "cherry"};

//왼쪽은 배열 안 요소의 상태, 오른쪽은 배열을 의미합니다.
for (String fruit : fruits) {
    System.out.println(fruit);
}

3. 플래그 제어 루프

클래그 제어 루프(flag controll loop)란 반복문을 boolean 타입으로 선언한 값의 반전을 이용해 제어하는 루프로, 개발자가 기대했던 값과 기대 외의 값에 대한 처리를 할 때 유용하게 사용됩니다.

물론 이 개념은 자바 뿐만 아니라 모든 언어에서 유용하게 사용 가능한 알고리즘 중 하나라고도 할 수 있습니다.

// 수정 (modifySchedule) 메서드를 실행하는 동안 최종 등록 구간에 나타나는 메서드로, 기본적으로 입력값에 대한 유효성 검사 및 Y 및 N 중 하나의 입력값에 따라 true 및 false를 반환
	static boolean confirm() {
    	//while문을 true로 설정
		while (true) {

			String userInput = sc.next();
			// 사용자의 입력값이 개발자의 기대값과 맞지 않을 경우 while문을 반복
			if (userInput.length() > 1 || userInput.charAt(0) != 'Y' && userInput.charAt(0) != 'N') {
				System.out.print("올바른 입력이 아닙니다. Y 또는 N을 입력해 주세요.\n----------------------------------------");
				continue;
			}
			// 기대값에 맞을 경우 break로 while문을 빠져나온 후 마지막 줄의 true를 반환
			if (userInput.charAt(0) == 'Y') {
				break; // 그냥 리턴하여 메서드 종료
            // 만약 기대값과 맞지 않을 경우 false를 return
			} else if (userInput.charAt(0) == 'N') {
				return false;
             // Y와 N 이외의 값 입력에 대한 경우 while문 반복
			} else {
				System.out.println("올바른 입력이 아닙니다. Y 또는 N을 입력해 주세요.\n----------------------------------------");
				continue;
			}
		}
profile
인생은 본인의 삶을 곱씹어보는 R과 타인의 삶을 배워 나아가는 L의 연속이다.
post-custom-banner

0개의 댓글