본문 바로가기
  • 문헌정보학도가 개발도 한다구요??
우당탕탕 개발일기/JAVA

JAVA를 배우자(3) - 반복문은 조건이 필요할지도 아닐지도 모릅니다.

by 개발하는사서 2021. 1. 11.

며칠 동안 즐겁게 놀다 왔더니 글 쓰기가 귀찮아 졌다. 분명 첫번째 글에 나는 작심삼일 이라고 했던거 같은데... 자신을 너무 잘 알아서 문제인듯.

 

오늘은 간단하게 반복문에 대해서 배워보자.

세상 모든 프로그래밍 언어가 가지고 있는 것중 하나, 반복문. 이거 없으면 치킨무 없는 치킨, 김치 없는 라면, 에디터 없는 프로그래밍이다. 

반복문이 뭐냐? 반복하는 것이다. 뭐를? 반복문 안에 있는 명령들을. 어떻게? 반복조건이 허락하는 만큼. 

어때요, 참 쉽죠?

자바에서 반복문은 for과 while이 있다. 다음은 코드를 같이 보면서.

package practice;

public class practice210111 
{
	
	public static void main(String[] args) //아래의 두 메소드를 실행하는 메인메소드
	{
		System.out.println(gugudanfor(4));
		System.out.println(gugudanwhile(4));
	}
	
	public static String gugudanfor(int a)  //for을 사용하는 반복문
	{
		int b = a;
		String result = "";
		for(int i = 1; i <= 9; i++) 
		{
			String line = b + " * " + i + " = " + b*i;
			result = result + line + '\n';
		}
		return result;
	}
	
	public static String gugudanwhile(int a) //while을 사용하는 반복문
	{
		int b = a;
		String result = "";
		int i = 1;
		while(i<10)
		{
			String line = b + " * " + i + " = " + b*i;
			result = result + line + '\n';
			i++;
		}
		return result;
	}
}

gugudanfor 메소드를 보자, 반복을 위해 for문을 사용했으며, for(변수 초기화; 실행 조건; 증감) { 명령 } 의 형식이다. 

gugudanwhile 메소드는 그에 비해 while(실행 조건) { 명령 } 의 구조로 되어 있으며, for과의 차이점은 while 전에 미리 변수를 선언해야 하며, 명령문안에 변수의 값을 변화시킬수 있는 명령이 있어야 한다. 그래서 변화된 변수의 값이 지정한 조건의 범위를 벗어날때, 반복은 멈추게 된다. 

그럼 반대로 생각해 볼까? 만약 변수가 변화를 하지 않고, 변수는 조건이 지정한 범위 안에 있을때, 반복문은 어떻게 될까????

컴퓨터는 돌쇠와 같다. 그저 끝없이 명령을 반복할 뿐이다. 컴퓨터가 지치거나 주인님이 멈추라고 할때까지는 절대 멈추지 않는다. 그리고 이러한 현상을 무한루프(Loop)라고 한다. 가끔 프로그래밍을 하면 무한루프가 필요한 순간이 있다. 그럴때 돌리면 좋다. 멈추고 싶으면 실행 중지를 하던가, 특이점이 발견될때의 조건문을 만들어서 break를 하던가...

 

댓글