본문 바로가기

코딩/JAVA 공부

[JAVA] 자바의 정석 _ 제어문 for, while/ continue, 반복문 이름 붙이기

반복문 : 조건을 만족하는 동안 {}를 수행 (0~n번)

 

 * for문 - 반복 횟수를 알 때 적합
조건을 만족하는 동안 {안의 식}을 반복

for(초기화; 조건식; 증감식){
// 조건식이 true면 수행될 문장
}

for(int i = 1; i<=17; i *=2) {
	System.out.println(i);
}

 

 * while문 - 반복 횟수를 모를 때

while(조건식) {
// 조건식이 true면 수행될 문장
}

 

 * do-while문 (1 ~ n번 수행) --> 입력값이 필요할 때 주로 사용

do {
// 1번 수행 후, 조건식이 true면 반복 수행
} while(조건식);

 

1~100 사이 임의의 숫자 맞추기 게임

public class up {

	public static void main(String[] args) {	
	int input = 0, answer = 0;
	answer = (int)(Math.random()*100) + 1;
	Scanner scanner = new Scanner(System.in);
	
	do {
		System.out.println("1과 100사이의 정수를 입력하세요.");
		input = scanner.nextInt();
		
		if (input > answer) {
			System.out.println("더 작은 수로 다시 시도하세요");			
		} else if (input < answer){
			System.out.println("더 큰 수로 다시 시도하세요");
		} else {
		}
			
		} while (input != answer);
		
	System.out.println("정답입니다.");
	}
}

 

 * continue 문

자신이 포함된 반복문의 끝으로 이동 - 다음 반복으로 넘어감

전체 반복 중에서 특정 조건 시 반복을 건너뜀

for(int i = 0; i<=10; i++) {
	if (i%3 == 0){
    continue
    }// if의 끝
    System.out.println(i);
} // for의 끝
// 출력: 1 2 4 5 7 8 10

continue를 통해 특정 반복 건너뛰기.

 

 * 이름이 붙은 반복문

반복문 앞에 이름을 붙여 하나 이상의 반복문 break가능.

Outer:
while(true){
	for(int i = 1; i <= 10; i++){
    if (i%4 == 0){
    	break Outer;
    }//if문 끝
    System.out.println(i);
    }// for문 끝
} //Outer 끝
//출력: 1 2 3

Java는 중괄호를 엄청 많이 사용하는데, 어떤 괄호가 어디의 끝인지 파악이 조금 어려웠다.

강의를 보니 중괄호 끝에 주석으로 무엇의 끝인지 표시했는데, 이러니 조금 더 알기 편한 것 같다.

조만간 java로 문제 풀어볼 때 사용해봐야겠다.