java↗5-6. while문

개미Coder
|2024. 3. 16. 20:25
반응형

for문

반복횟수를 알 때

while문

조건을 만족시키는 동안 블럭{}을 반복 - 반복횟수 모를 때

		while (조건식) {
			// 조건식의 연산결과가 참(true)인 동안, 반복될 문장들을 적는다.
		}

참 일때 동안은 계속 while문이 수행된다. false 결과값이면 종료.

public class ForEx4 {
	public static void main(String[] args) {
		int i = 5; // 반복할 횟수를 넣는다.

		while (i-- != 0) {
			System.out.println(i + " - I can do it.");
		}
		// 위와 동일하다. != 같지 않다
		while (i!= 0) {
			i--;
			System.out.println(i + " - I can do it.");
		}
		// 여기서 (i!= 0) 값은 (5!=0),(4!=0),(3!=0),(2!=0),(1!=0)
		// 순으로 이어지며 값들은 전부 true이지만, (0!=0)의 값은 false이기에
		// 해당 while문이 종료가 된다.
	} // main
}
class Ex4_13 {
	public static void main(String[] args) {
		int sum = 0;
		int i = 0;
		// i를 1씩 증가시켜서 sum에 계속 더해나간다.
		while (sum <= 100) {
//			System.out.printf("%d - %d%n", i, sum);
			System.out.println(i+" - "+sum);
			sum += ++i;
			// sum = sum + ++i;
		}
	} // main의 끝
}

// for(int sum=0, i=0;sum<=100;++i)
class Ex4_14 {
	public static void main(String[] args) { 
		int num = 0, sum = 0;
		System.out.print("숫자를 입력하세요.(예:12345)>");

		Scanner scanner = new Scanner(System.in);
		String tmp = scanner.nextLine();  // 화면을 통해 입력받은 내용을 tmp에 저장
		num = Integer.parseInt(tmp);      // 입력받은 문자열(tmp)을 숫자로 변환

		while(num!=0) {    
			// num을 10으로 나눈 나머지를 sum에 더함
			sum += num%10; 	// sum = sum + num%10;
			System.out.printf("sum=%3d num=%d%n", sum, num);

			num /= 10;   // num = num / 10;  num을 10으로 나눈 값을 다시 num에 저장
		}

		System.out.println("각 자리수의 합:"+sum);
	}
}

 

do-while문

블럭{}을 최소한 한 번 이상 반복 - 사용자 입력받을 때 유용

do {
	// 조건식의 연산결과가 참일 때 수행될 문장들을 적는다. (처음 한 번은 무조건 실행)
} whie (조건식); <- 끝에 ';'을 잊지 않도록 주의
class Ex4_15 {
	public static void main(String[] args) { 
		int input  = 0, answer = 0;

		answer = (int)(Math.random() * 100) + 1; // 1~100 사이의 임의의 수를 저장
		Scanner scanner = new Scanner(System.in);

		do {
			System.out.print("1과 100사이의 정수를 입력하세요.>");
			input = scanner.nextInt();

			if(input > answer) {
				System.out.println("더 작은 수로 다시 시도해보세요.");	
			} else if(input < answer) {
				System.out.println("더 큰 수로 다시 시도해보세요.");			
			}
		} while(input!=answer);

		System.out.println("정답입니다.");
	}
}
반응형

'java↗' 카테고리의 다른 글

java↗6-1. 배열의 길이, 배열의 초기화  (0) 2024.03.19
java↗6. 배열  (0) 2024.03.19
java↗5-5. 중첩 for문  (0) 2024.03.16
java↗5-4. 반복문 for문  (1) 2024.03.15
java↗5-3. 임의의 정수 만들기  (0) 2024.03.15