본문 바로가기
JAVA/java

[JAVA] 05. 반복문 for + while + do-while

by saniii 2020. 9. 25.

접은 글이 더보기로 보이는 줄은 몰랐는데 ㅋㅋㅋㅋㅋㅋㅋㅋ

티스토리의 길은 멀고도 멀구나...ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

 

...................................................................................................................................................................................................................................................

어떤 결과를 도출 할 때 

같은 코드 혹은 숫자만 다른 똑같은 연산을 반복해야 할 때가 있다.

같은 문장을 여러번 쓰면 손만 아프고 비효울적이니까 이럴땐 반복문을 사용한다.

 

 

 

+ for 문 +

 

                 - 기본 형태 -

for ( 초기문; 조건식; 반복 후 작업 ) {
          실행 할 문장
}

# 초기문

 - 초기문은 for문이 시작할 때 한 번 수행

 - ','를 이용하여 여러 문장을 같이 쓸 수 있다. 아니면 아예 빈 상태로 안 써도 된다. 근데 그래도 ; 은 써야 함

 

# 조건식 

 - 조건식의 결과가 참이면 반복문을 수행하고 거짓이면 for문을 탈출한다.

 - 조건식에 true라고만 써놓으면 그게 바로 무 한 루 프 

 

// for문 예제 : 1-100까지 합

int sum = 0;

for(int i=0; i<100; i++) {
	sum = sum + (i+1);
}

System.out.println(sum);

// 끝!!! 와웅 너무 쉽다
/* sum은 1-100까지의 모든 합을 저장할 변수
   내가 i를 0으로 초기화했기 때문에  sum에 더할 수를 (i+1)로 잡았다.
   그래야 0+1 -> (0+1)+2 -> (0+1+2)+3 -> ... -> (0+1+2+...+98+99)+100 이 sum에 저장된다.
   
   i++ 는 i가 반복문을 한 번 수행하고난 뒤마다 +1 시키며 
   i가 100번의 반복문을 거쳐 100이 되었을때 조건문을 만족시키지 못하므로 for문을 탈출한다.
*/

1부터 100까지의 합은 5050 맞쥬??

 

//for문 예제 : 무한루프

for( ; true; ) {
	System.out.println("자라나는 rrddo");
}

실행하면 다음과 같은 문장이 무한 반복된다.

 

 

 

 

 

+ while 문 +

  - 기본 형태 -

while ( 조건식 ) {
      실행 할 문장
}

# while 문은 반복횟수를 알 수 없을 때 사용하기 좋다.

# 조건식이 참이면 문장을 실행하고 조건식이 거짓이면 while문을 탈출한다.

# while문은 조건식이 없으면 컴파일 오류난다.

# 무한루프가 필요할 때 while(true)를 사용하며 (무한루프를 사용할 때 for문보다 while을 많이 사용하는 듯)

   break; 를 이용하여 무한루프를 필요시에 탈출시킨다. 

 ( *break; 는 다음 포스팅에서 알아보자. )

 

 

// while문 예제 : 1-100 까지의 합

int sum=0, i=0;
while (i<100) {
	sum = sum + (i+1);
    i++;
}

System.out.println(sum);

/* 횟수가 정해져 있을 때 for문과 달리while문은 반복후 실행문을 처음에 정의하지 않으므로
   반복문 안에 추가해주어야 한다. 그래야 조건을 만족할만큼만 반복문을 실행하고 탈출하니까!
*/

실행 과정을 for문과 비교해 보자.

 

// while문 예제 : 무한루프

import java.util.Scanner;

public class Ex {
	public static void main (String[] args) {
    	Scanner scanner = new Scanner(System.in);
        
    	while( true ) {
    		System.out.println("메뉴를 고르세요 / 1:콜라\t2:커피\t3:생수\t4:exit\t");
    		int num = scanner.nextInt();
    		
    		if (num == 4) {
    			break;
    		}
    	}
    	System.out.println("감사합니다. 안녕히가세요.");
    	scanner.close();
    }
}

(* 실행할 때 필요에 의해 클래스 명을 소스파일명과 같게 변경했다.)

이렇게 특정 조건을 만족시킬 때 반복문을 탈출시키고 그 외에는 계속 반복하고 싶을 때

이런 코드를 많이 작성한다.

 

 

 

 

+ do - while 문 +

  - 기본 형태 -

do  {
      실행 할 문장
} while( 조건식 ) ;

# do-while 문은 다른 반복문과 달리 조건식이 뒤에 있으므로 적어도 한번은 실행 문장을 무조건 실행한다.

# 조건식이 참이면 문장을 실행하고 조건식이 거짓이면 while문을 탈출한다.

# do-while문은 조건식이 없으면 컴파일 오류난다.

 

// do-while문 예제 : 1-100 까지의 합

int sum=0, i=0;
do {
	sum = sum + (i+1);
    i++;
} while (i<100);

System.out.println(sum);

실행 결과 위에꺼랑 다른거댜!!! 또 실행한거ㅏㄷ!!!!

 

// do-while문 예제 : 진짜 무조건 한번은 실행하는지 확인하기

    	int i=0;
    	do {
    		System.out.println("자라나는 rrddo");
    	    i++;
    	} while (i<0);

조건문 만족안하는데 진짜 한번은 출력한다. 확! 인!

 

 

 

 

'JAVA > java' 카테고리의 다른 글

[JAVA] 02. 변수 + 연산자  (0) 2020.09.21
[JAVA] 01. 자바 시작  (0) 2020.09.21

댓글