본문 바로가기
개발&코딩/Java

Java 독학 #3 - for,while,do/while // 반복제어

by 우동이 2022. 5. 1.
300x250

JAVA - 반복제어

 

 

JAVA의 반복제어문은 여타 언어와 유사하게 

- while / do while

- for

크게 두 부류로 존재합니다.

 

반복문은 프로그램 내에서 작성된 명령을 일정 횟수 반복 수행하는 제어문인데

 

반복해야하는 명령이 많은 프로그램의 특성상 반복제어문은 반드시 알아야 하는 기초 지식입니다.

 

먼저 for문에 대해 알아봅시다.

 


반복제어문 - for 문

//for문 기본 형태

for(초기식; 중기식; 증감식){
	명령문
}

for문의 기본 형태는 위 코드의 형태이며

그림 - 2 반복문 실행 순서

for문의 구문은 위 그림과 같은 형태로 수행됩니다.

 

식(초기,중기,증감)은 상황에 따라 생략될수도 있습니다.

 

다음은 for문으로 작성된 다양한 코드의 예시를 살펴봅시다.

 

//크기가 5인 배열에 5개의 정수형 변수를 입력받아 출력하기.
import java.util.Scanner;
public class fortest {
    public static void main(String [] args){
        Scanner sc = new Scanner(System.in); // Scanner 선언
        int []num = new int[5]; // 크기가5인 배열 선언
        
        for(int i=0; i<num.length; i++){ // num의 길이만큼 i 가 증가함
            num[i]=sc.nextInt(); //정수형 배열 num에 값을 입력받음
            System.out.println("num["+i+"] 에 입력된 숫자는 : "+num[i]+"입니다."); // 입력받은 값을 출력
        }
    }
}

위 코드는 크기가 5인 정수(int)형 배열에 값을 입력받아 출력하는 코드입니다.

 

결과는 아래 화면과 같습니다.

그림 - 3 for 문 예시코드 결과값

각각 입력된 정수값이 배열에 저장되어 출력됩니다.

 

이렇듯 for문을 통해 입력&출력의 반복적인 과정을 수행할 수 있음을 확인했습니다.

 

다음은 while문을 살펴보겠습니다.


반복제어문 - while 문

//while문 형태
while (조건식){
	명령문;
}

while문의 형태는 조건식 거친 후 바로 명령문이 수행된다.

 

//무한반복문
while(true) {
	명령문;
}

조건식에 true를 작성할경우 무한루프(loop)문이 된다.

 

무한반복문을 빠져나가기 위해 사용되는 명령어로는 break가 있다.

break

//break
import java.util.*;

public class whiletest {
    public static void main(String [] args){
        Scanner sc = new Scanner(System.in);//값을 입력받을 sc 객체 생성
        while(true){
            System.out.println("값을 입력하시오 >> ");
            int i=sc.nextInt(); //정수형 변수 i에 값을 입력받는다.
            if(i==0) break; //i의 값이 0이 되면 반복문을 벗어난다.
        }
    }
}

정수형 변수 i 에 값을 계속 입력받아 0이 입력되면 반복문이 종료

 

그렇지 않으면 무한반복하는 코드이다.

그림 4 - while문 예시코드 결과값

위 사진과 같이 0이 입력되면 프로그램이 종료된다.(반복문을 탈출한다.)


반복제어문 - do/while 문

// do while문 형태
do{
	명령문;
}
while(조건식);

do/while문의 형태는 위와 같다.

 

while문과의 차이점은 while문은 조건에 부합하지 않는 경우 실행이 안되는 경우가 있으나

 

do/while 문의 경우에는 무조건 한번은 수행한다.

 

즉 순서는 do-명령문 -> while-조건식 이 순서이다.

 

import java.util.*;
public class dowhiletest {
    public static void main(String [] args){
        Scanner sc = new Scanner(System.in); //입력 객체 생성
        int num;
        
        do{
            num = sc.nextInt(); //num에 정수값을 입력받음
        }
        while(num !=0); //num이 0이 아닌경우에만 반복
    }
    
}

위 코드는  do/while문에서 정수형 값(num)을 입력받아 

 

입력받은 값이 0이 아니라면 무한루프 하는 구문이다.

 

while문과 비슷하지만 다른 형태의 무한루프이다.

 

그림 5 - do/while문 무한loop


 

사용언어 : Java

작성일자 : 2022-05-01

기본 숙지 개념 : Java 조건제어, java 기초

작업환경 :  VIsual Studio Code

버전 : JDK 17.0.2

 

추천 자료 : 

 

Java Platform SE 7

 

docs.oracle.com

 

 

Java 독학 #2 - if,else 조건제어

기본 숙지 개념 : Java 기초 작업환경 : VIsual Studio Code 버전 : JDK 17.0.2 추천 자료 : https://docs.oracle.com/javase/7/docs/api/ Java Platform SE 7 docs.oracle.com 제어문(Control flow statements)..

hobbylists.tistory.com

 

Java 독학 #1 - 기초 개념, 입출력

사용언어 : Java 작성일자 : 2022-04-02 기본 숙지 개념 : Java 기초, 프로그래밍 언어 작업환경 : VIsual Studio Code 버전 : JDK 17.0.2 추천 자료 : https://docs.oracle.com/javase/7/docs/api/ 주제 : Java..

hobbylists.tistory.com

 


 

300x250

댓글