(4Day) Study_반복문(for, while)

  • by

최근 무릎 전방 십자 인대 수술을 하고 문장을 올리지 못했습니다.

지금은 앉아 공부도 가능한 정도가 되어 다시 블로그를 만들어 보려고 합니다!

그래도 여전히 앉아있는 것이 어렵고 문장의 양이 비교적 적을 수 있습니다.

다시 한번 열심히 공부하고 블로그를 꾸준히 운영할 수 있도록 노력하겠습니다.


오늘 공부한 내용은 반복문이다.


우선 반복문이란,

반복문은 프로그램 내에서 동일한 명령을 일정 횟수 반복하도록 제어하는 ​​명령문이다.

프로그램이 처리하는 대부분의 코드는 반복형이 많기 때문에 가장 많이 사용되는 제어문 중 하나이다.


반복 문장은 알고리즘 및 다양하게 사용하고 있다는 것을 알고 있다.

반복문 안에서 ‘for문’과 ‘while문’을 공부했다.

while 문

while 문은 특정 조건을 충족할 때까지 주어진 문장을 반복해서 계속 실행합니다.

public class Whlie {

	public static void main(String() args) {
		/*
		 * while 
		 * 		while(조건식) {
		 * 			반복 수행할 코드 작성
		 * 		}
		 */
         
        int i = 0;
		while(i < 5) {
			System.out.println("i : " + i);
			i++;
		}
 	}
}

상기와 같은 코드로 출력할 때, 다음과 같은 출력 결과를 확인할 수 있다.


do…while 문

do…while 문은 조건식의 결과에 관계없이 한 번에 무조건 루프를 실행합니다.

먼저 루프를 실행한 후 do…while 문은 조건식을 검사합니다.

public class Whlie {

	public static void main(String() args) {
		/*
		 * do ... while 
		 * 		do {
	 	 *			 반복 수행할 코드 작성
		 * 		} while(조건식);
		 * 
		 * 조건에 따라 반복을 계속할지를 결정할 때 사용하는 것은 while 문과 동일
		 * 다만, 무조건 중괄호 {} 블럭을 한번 실행하고, 조건을 검사하여 반복을 결정
		 */
		
		i = 0;
		do {
			System.out.println("i : " + i);
			i++;
		} while(i < 5);
 	}
}

상기와 같은 코드로 반복문을 출력시키면, 다음과 같은 값이 출력되는 것을 확인할 수 있다.


for 문

for 문은 초기식, 조건식, 증감식을 모두 포함하는 반복문이다.

따라서 for 문은 while 문보다 간결하게 사용할 수 있습니다.

public class for {

	public static void main(String() args) {
		/*
		 * 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 
		 */
        int tot = 0;
		for(int i = 1; i <= 10; i++) {
			tot += i; // 복합 할당 연산
			// tot = tot + i;
		}
		System.out.println("1 ~ 10까지의 누적 값 : " + tot);
 	}
}

주석에 입력 된 표현식을 for 문을 사용하여 코드를 작성하고 값을 출력 할 때,

다음 값을 확인할 수 있습니다.


또 for문을 응용해 구구단을 만들어 보았다.

값을 사용자에게 입력하고, 입력된 값으로 구구식을 작성하였다.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class for {

	public static void main(String() args) throws IOException{
		
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		/*
		 * 사용자가 입력한 정수 값에 해당하는 구구단을 출력하시오.
		 */
		
		System.out.print("정수 값 입력 : ");
		int num1 = Integer.parseInt(br.readLine());
		
		for(int i = 1; i <= 9; i++) {
			System.out.printf("%d * %d = %d\n", num1, i, num1 * i);
		}
 	}
}

위와 같은 코드로 작성했을 때 출력되는 값은 다음과 같습니다.


사용자가 값을 입력하는 데 사용한 클래스는 BufferedReader 클래스입니다.

(Java) (Class) Bufferedreader

코딩 테스트 문제를 해결하고 우연히 알게 된 Bufferedreader 고객에 대해 공부해 보았다.

Bufferedreader Class는 이름과 같이 버퍼를 사용하는 클래스입니다.

일반적으로 알고 있던 스캐너 클래스는 사용자가

nan-o-nuel-do.

그 클래스는 알고리즘의 문제를 해결할 때 자주 사용되었지만 별도로 공부했습니다.

마지막으로,

중첩된 반복문

반복문안에 반복문을 작성합니다만,

처음으로 외부 반복문이 조건식에 맞춰 진행된다.

그리고, 내부 반복문이 조건식에 맞도록 루프가 완전히 진행되고 나서 종료가 되면, 외부 반복문이 다시 진행한다.

중복 반복문의 루프는 외부 반복문의 조건식이 완전히 진행되어 종료가 되면 끝이 나온다.

말로 설명하는 것보다 코드를 한 번 보는 것이 이해하기 쉽다.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class for {

	public static void main(String() args) throws IOException{
		/*
		 * 중첩 반복문
		 */
		for(int i = 1; i <= 3; i++) {
			System.out.println("i가 1번 반복할 때마다");
			for(int j = 1; j <= 3; j++) {
				System.out.println("j의 반복은 3번씩 총 9번 출력된다.

"); } } }

위와 같이 중첩된 반복문을 사용하여 값을 출력하면 다음과 같은 값을 확인할 수 있습니다.



반복문은 어디서나 정말 많이 쓰는 것 같다.

반복문을 적극 활용할 수 있도록 더 공부해야 한다.

갈린이 리노베이터가 되는 그날까지!