본문 바로가기

JAVA/조건문과 반복문

반복문 -for

1. 반복문이란

문장 수행흐름을 바꾸는 역할을 하는 제어문 중 하나로 특정 문장들을 반복해서 수행하도록함.

 

2. 종류

1)for문

2)while문

3)do~ while문

 

break/continue

반복문을 수행중 실행하면, 반복문을 그 이하를 실행하지 않고 특정한 패턴을 수행 한다.

 

1)break : 반복문에서 break가 실행되면 자신이 포함된 가장 가까운 반복문을 나간다.

2)continue: 반복문 내에서만 사용하며, 실행시 continue 아래 부분은 실행하지 않고 반복문 다시 실행

 

3. for문

표현식 

for(초기식; 조건식; 증감식){

수행할 문장

}

 

for문 실행

1회 : 초기식을 확인 후 조건식 확인 

    조건식이 true일 경우 : 문장 수행 후 2회

    조건식이 false일 경우 : 수행하지 않고 빠져나감

2회~: 증감식 연산 후 조건식 확인

    조건식이 true일 경우 : 문장 수행 후 반복

    조건식이 false일 경우 : 수행하지 않고 빠져나감

-> 조건식이 false일 때까지 문장을 수행

 

for(int a = 0; a<5; a++ ){

 System.out.print(a + " ")

} ->0 1 2 3 4

 

 

for문의 경우 초기식은 보통 int를 쓰며, 증감식의 경우 for문 안에 넣을 수 있다. 만약 증감식이 없을 경우 조건식이 true일때 무한히 돌게 된다.

 

for(int a = 0; a<5; ){

 System.out.print(a + " ");

 a++;

} ->0 1 2 3 4

 

중첩이 가능하며 조건문도 넣을 수 있다..

for(int dan = 2; dan<=9 ;dan++){

   if(dan %2 == 0){

     System.out.println("****"+dan+"단****")

     for(int j = 1; j<10; j++){

            System.out.println(dan +" * " +j +" = " +dan*j);

        }

    }

    System.out.println();

}

->위의 식은 구구단의 if절에 조건에 의해 2단 4단 6단 8단의 구구단만 반복되어 사진처럼 출력된다.

만약 break 문을 만나게 되면  자신을 포함한 가장 가까운 for문을 빠져 나가게 된다.

for(int dan = 2; dan<=9; dan++){
   if(dan %2 == 0){
    System.out.println("****"+dan+"단****");
     for(int j = 1; j<10; j++){
            System.out.println(dan+" * " +j +" = " + dan*j);
            if(j==2) {
             break;
            }
      }
    }
   System.out.println();
}

 

두번째 for문의 출력문 다음의 조건절을 만족하면 두번째 for문을 나가 첫번째 for문을 실행하게 되어 다음과 같이 나타난다.

 

continue를 만났을 경우에는 같은 for문안에 존재 하며 contine의 아래에 있는 문장을 실행하지 않고 증감식을 실행한다.

for(int dan = 2; dan<=9; dan++){
   if(dan %2 == 0){
      System.out.println("****"+dan+"단****"); 
     for(int j = 1; j<10; j++){
      if(j%2==0) {
             continue;
             }
      System.out.println(dan+" * " +j +" = " + dan*j);
      }
    }
   System.out.println();
}

 

j가 짝수일때는 continue에 의해 같은 for문안에 있는 출력식이 실행 되지 않게된다.

 

 

4.for each문

후에 나올 배열, collection 같은 구조는 자료형의 객체로 하나씩 받아 출력 해 줄수 있다.

 

for(자료형 객체명 : 불러올 객체명){

}

 

String[] strs = {"1","2","3"};

 

for문

for(int i = 0; i <strs.length; i++){

    System.out.print(strs[i] + " ");

}

for each문

 

for(String str : strs){  

    System.out.print(str + " ");

}

똑같이 출려되나 위보단 아래의 식이 좀더 직관적이다.

'JAVA > 조건문과 반복문' 카테고리의 다른 글

반복문 - while, do~while  (0) 2019.12.14
조건문  (0) 2019.12.13