코딩이란 무엇일까

JAVA/자바[5일차](2)-for문,break,continue 본문

국비지원수업

JAVA/자바[5일차](2)-for문,break,continue

둥구는 지굴다 2022. 10. 26. 21:18

안녕하세요 오늘은 for문에 대해 배웠고

for문을 정리해 보겠습니다.

for문이란?

for문은 특정한 횟수 동안 작업을 반복할 때 사용하는 반복문입니다.

for문에서 조건식을 만들어 조건식이 참일 동안 반복할 명령을 실행할 수 있습니다.

if문의 상위 호한 느낌이 들지만 if문의 실행내용은 한 번밖에 실행이 안됐지만

for문은 사용자가 원하는 횟수만큼 명령을 반복할 수 있습니다.

for문의 구조

			for(초기식; 비교식; 증감식;){
			초기식에 선언된 변수가 조건식이 참일 동안에 반복할 명령;
			}

초기식: 변수 생성

조건식: 변수의 최대치 설정

증감식: 변수의 변화량 설정

 

for문의 실행 순서

for문은 우선 조건식을 봅니다. 조건식 중에서 초기식을 비교식에 대입하여 비교 식이 참이라면

블록 안의 명령을 실행한 뒤 증감 식이 이루어지는 순서입니다.

⚠️추가적으로 초기식은 반복문이 시작될 때 한 번만 실행됩니다.

이렇게 보니 잘 이해가 안 가서

밑에 for문을 사용하는 예시 코드에서 그림을 그려 표현해봤습니다.

for문을 썼을 때와 안 썼을 때를 비교

for문을 썼을 때와 안 썼을 때의 코드량을 비교해보겠습니다.

1번부터 10번까지 출력하는 코드를 작성해보겠습니다.

for문을 안 쓰고 출력

  public static void main(String[] args) {
  System.out.println("1번");
	System.out.println("2번");
	System.out.println("3번");
	System.out.println("4번");
	System.out.println("5번");
	System.out.println("6번");
	System.out.println("7번");
	System.out.println("8번");
	System.out.println("9번");
	System.out.println("10반");
		}

for문을 쓰고 출력

			public static void main(String[] args) {
            		for(int i=1;i<=10;i++)
			System.out.println(i+"번");
			}

위의 예시처럼 10줄이 되는 코드를 단 두줄로 줄일 수 있게 됩니다.

이게 for문의 장점이죠 반복되는 코드를 for문에 넣어 중복되는 코드를 줄일 수 있습니다.

for문 사용해보기

		//for문 활용해 보기
		//for문 형식 for(변수선언과 초기화; 조건식; 증가또는 감소수식)
		//초기값이 조건식 검사했을 때 참이면 아래 명령 실행
		public static void main(String[] args) {
        		for(int i=0;i<5;i++) {  
				System.out.println("hello");
			//명령문 실행 후에는 i에 대한 증감식 실행결과 값으로 조건식이 참이면 실행 
               		//ㄴ조건식이 거짓일 때 까지 실행문 반복
				}
           	}

위 예시 for문이 실행 순서

for문안에서 변수 사용해보기

		public static void main(String[] args) {
        	int j=0;
		for(j=0;j<5;j++) {
			System.out.println("j="+j);
			System.out.println("Hello~("+j+")");
			}
          	}

위의 예시는 j라는 변수를 선언하여 Hello~와 j의 값이 어떻게 증가하는지 확인하기 위해 출력해보았습니다.

출력 결과

j가 초기 값인 0에서 증감식을 통해서 1,2,3,4까지 증가했습니다.

하지만 여기서 비교 식이 5 미만이냐라고 물어봤기 때문에

5가 되면 for문안의 조건식이 false값을 갖기 때문에

j는 4까지 증가하고 for문이 종료되었습니다.

break, continue

for문에서는 break와 continue라는 키워드를 사용할 수 있습니다.

break?

break문은 이제 더 이상 반복하지 말고, 바로 for문을 끝내라는 의미를 갖고 있습니다.

한마디로 for문을 종료할 수 있는 키워드인 것입니다.

break 사용해보기

public static void main(String[] args) {
for(int i=1;i<=100;i++) { 
			//i=1~99까지 100번실행
			if(i%11==0) break;
			System.out.print("i = "+i+" ");
		}
}
//출력 결과:i = 1 i = 2 i = 3 i = 4 i = 5 i = 6 i = 7 i = 8 i = 9 i = 10

if문을 사용하여 조건에 맞는 값이 오면 break를 하라 정의해놨습니다.

따라서 1~99까지 총 98번 실행되는 for문의 i를 출력하고

만약 i를 11로 나누었을 때 나머지가 0이 된다면

즉, 11이 나온다면 for문을 종료하겠다.라는 코드입니다.

continue?

continue문은 for문안의 { } 블록 안에서 continue문장을 만나는 순간 continue문 아래에 있는 실행문을 건너뛰고,

for문의 조건식 안에 있는 증감식으로 가게 됩니다.

continue예시 코드

public static void main(String[] args) {
		int count=0;
		System.out.println("6.continue");
		for(int i=1;i<100;i++) { 
		//continue는 for문의 증감식 실행으로 계속하기 (아래 명령문 실행 X)
			if(i%11==0) continue;
			System.out.print("i="+i+" ");
		}
}
		//출력결과 i=1 i=2 i=3 i=4 i=5 i=6 i=7 i=8 i=9 i=10 i=12...i=98

위 코드 또한 1~99까지 총 98번 실행되는 조건식을 만들었습니다.

하지만 if문을 통해 i값을 11로 나누었을 때 0이 되면 continue를 실행하게 했습니다.

그리고 i를 출력해 보았습니다.

출력 결과가 길어 앞부분만 작성했지만 i=11이 빠진 모습을 볼 수 있습니다.

추가적으로 22,33,44,55,66,77,88,99까지 출력이 안됐습니다.

이유는 i%11한 값이 0 일 때 continue로 가기 때문에 i가 11의 배수이면

contine로 인해 아래의 문장을 실행하지 않고 증감식으로 가기 때문입니다


이상으로 오늘 배운 for문에 대하여 정리해 봤습니다.

글 읽어 주셔서 감사합니다.

Comments