본문 바로가기

BackEnd/Java

반복 : for문

for문의 흐름

 

 

  • 초기식, 조건식, 증감식의 위치가 정해져 있음
  • 일반적으로 횟수가 정해져있을 때 for문을 사용한다.

 

for(int i=1; i<=5; i++) {
	System.out.println(i + "번 째 실행");
}

- 출력 결과
1번 째 실행
2번 째 실행
3번 째 실행
4번 째 실행
5번 째 실행

실행 순서

  1. 초기식 ( int i = 1 )
  2. 조건식 ( i <= 5 )
  3. 내용 ( System.out.println )
  4. 증감식 ( i++ )

 

중첩 for문을 이용한 예제는 아래와 같다.

 

for(int dan=2; dan<=9; dan++) {
	System.out.println("< " + dan + "단 >"); // ① 몇단인지 출력하고
    
    for(int times=1; times<=9; times++) {
    	System.out.println(dan + "*" + times + " = " + (dan*times));
        // times가 1부터 9가 될 때 까지 반복하고
    }
    System.out.println();
    // 빠져나와서 다시 ①번으로 이동 후 dan이 9가 될 때 까지 반복
}

- 출력 결과
< 2단 >
2*1 = 2
2*2 = 4
2*3 = 6
2*4 = 8
2*5 = 10
2*6 = 12
2*7 = 14
2*8 = 16
2*9 = 18

< 3단 >
3*1 = 3
3*2 = 6
3*3 = 9
3*4 = 12
...

 

int lineCount = 9; // 중앙을 기준으로 한 갯수의 홀수 값
int spaceCount = (lineCount/2)+1;
int starCount = 1;

for(int i=0; i<lineCount; i++) {

    // (lineCount/2)+1 = 5
    for(int j=0; j<spaceCount; j++) {
	System.out.print(" ");
    }

    for(int j=0; j<starCount; j++) {
	System.out.print("*");
    }

    for(int j=0; j<spaceCount; j++) {
	System.out.print(" ");
    }

    if(i < lineCount/2) {
	spaceCount -= 1;
	starCount += 2;
    } else {
	spaceCount += 1;
	starCount -= 2;
    }

    System.out.println();
}
        
 - 출력 결과
 
     *     
    ***    
   *****   
  *******  
 ********* 
  *******  
   *****   
    ***    
     *     

'BackEnd > Java' 카테고리의 다른 글

반복 : break와 continue  (0) 2020.01.22
반복 : while, do ~ while문  (0) 2020.01.22
switch ~ case문  (0) 2020.01.22
자료형의 형 변환  (0) 2020.01.22
자료형의 데이터 타입과 아스키 코드  (0) 2020.01.22