JAVA/JAVA 기초

JAVA 기초 - 반복문 (while/do-while)

꿀표 2020. 6. 4. 15:40

B_While.java

package com.kh.chap02.loop;

import java.util.Scanner;

public class B_While {
	
	/*
	 * for문
	 * 
	 * for(초기식; 조건식; 증감식){
	 * 		반복적으로 실행할 코드;
	 * }
	 * 
	 * while문
	 * 
	 * 초기식;
	 * 
	 * while문(조건식) {
	 * 		반복적으로 실행할 코드;
	 * 		증감식;
	 * }
	 * 
	 */
	
	public void method1() {
		// "안녕하세요" 5번 출력
		
		int i = 1;
		
		while(i <= 5) {
			System.out.println("안녕하세요");
			i++;
		}
		
		System.out.println("i : " + i);
		
		// 1 2 3 4 5
		i = 1;
		
		while(i <= 5) {
			//System.out.print(i + " ");
			//i++;
			System.out.print(i++ + " ");
		}
		
		// 5 4 3 2 1
		i = 5;
		while(i >= 1) {
			System.out.print(i-- + " ");
			//i--;
		}
	}
	
	public void method2() {
		//1에서 10사이의 홀수만 출력
		// 1 3 5 7 9
		
		int i = 1;
		
		while(i <= 10) {
			
			if(i % 2 == 1) {
				System.out.print(i + " ");
			}
			i++;
		}
		
		System.out.println();
		
		// 두번째 방법
		i = 1;
		
		while(i <= 10) {
			
			System.out.print(i + " ");
			
			i+=2;
		}
	}

	public void method3() {
		// 1부터 랜덤값(1~10)까지의 총 합계
		
		int random = (int)(Math.random() * 10 + 1);
		
		int sum = 0;
		// sum += 1;
		// sum += 2;
		// ...
		// sum += random;
		
		int i = 1;
		while(i <= random) {
			System.out.print(i + " ");
			sum += i;
			i++;
		}
		
		System.out.println("\n1부터 " + random + "까지의 총 합계 : " + sum);
	}
	
	public void method4() {
		// 사용자가 입력한 단 출력하기
		Scanner sc = new Scanner(System.in);
		
		System.out.print("단 수를 입력하세요 : ");
		int dan = sc.nextInt();
		
		if(dan >= 2 && dan <= 9) { // 잘 입력했을 경우 --> 단 출력

			int i = 1;// 바깥쪽에 i를 만들면 변수를 만들고 while문을 실행하겠다는 뜻. 즉 불필요한 메모리가 생성될 수 있음.
			while(i <= 9) {
				
				System.out.printf("%d x %d = %d\n", dan, i, dan * i);
				i++;
			}
				
		}else { // 잘못 입력했을 경우 "잘못 입력했습니다." 출력
			System.out.println("잘못입력했습니다.");
		}
		
	}
	private void method5() {
		// 사용자에게 문자열 입력 받은 후 각 인덱스별 문자 뽑아 출력하기
		Scanner sc = new Scanner(System.in);
		
		System.out.print("문자열 입력 : ");
		String str = sc.nextLine();
		
		int i = 0;
		
		while(i < str.length()) {
			System.out.println(str.charAt(i));
			
			i++;
		}
		
		
	}
}

C_DoWhile.java

package com.kh.chap02.loop;

public class C_DoWhile {
	
	/*
	 * *do - while문
	 *
	 * 
	 * 초기식;
	 * 
	 * 
	 * do {
	 * 		반복적으로 실행할 코드;
	 * 		
	 * 		증감식;
	 * 
	 * }while(조건식);
	 * 
	 * 초기식 --> 무조건 한번은 실행 --> 증감식 -->
	 * 조건식 --> true면 실행     --> 증감식 -->
	 * 조건식 --> false일 경우 반복문 빠져나감
	 * 
	 * 
	 */
	
	public void method1() {
		int num = 1;
		
		do {
			
			System.out.println("안녕하세요");
			
		}while(num == 0);
		
	}
	
	public void method2() {
		// 1 2 3 4 5
		int i = 1;
		
		do {
			System.out.print(i++ + " ");
			
		}while(i <= 5);
		
		/*
		 *  i=1  무조건 1출력 i++
		 *  i=2  무조건 2출력 i++
		 *  i=3  무조건 3출력 i++
		 *  i=4  무조건 4출력 i++
		 *  i=5  무조건 5출력 i++
		 *  
		 */
	}
	public void method3() {
		// 1에서부터 랜덤값(1~100)까지의 총 합계
		
		int random = (int)(Math.random() * 100 + 1);
		
		int sum = 0;
		
		int i = 1;
		do {
		
			//sum += 1;
			//i++;
			sum += i++;
			
		}while(i <- random);
		
		System.out.println("1부터" + random + "까지의 총 합계" + sum);
		
	}
}