본문 바로가기
프로그래밍 언어/자바의 정석 기초편

자바의 정석 기초편 ch4-13,14 for문

by life grow 2022. 5. 18.

조건을 만족하는 동안 블럭{}을 반복 - 반복횟수를 알 때 적합

처음에 초기화를 하고 2~4를 반복 

조건식이 거짓일 때까지. 그때 for문도 벗어난다.

  

int i = 1; i <= 3;이면 3번 반복,

int i = 11; i <= 13;도 3번 반복이다.

 

실행해보기 전에 예측해보자

 

int i = 10; i <= 1; i-- 는 한번도 실행 안된다.

조건식이 만족하지 않기 때문에

조건식이 만족하지 않아도 계속 실행돼서

int i가 0까지 가는건 아님. 애초에 실행이 되지 않아서.

 

무한반복에 빠진 경우 빨간버튼 누르면 됨.

조건식을 주의 깊게 작성하자

같은 타입이라면 조건식에 변수를 두개 쓸 수 있다.

(int i = 1, j=10; i <= 10; i++, j--)

 

for문 안에 변수 i가 선언되면

for문 밖에서는 변수 i를 쓸 수 없다.

해결하려면 변수 i의 초기화 식을 밖으로 빼내면 된다.

 

변수의 범위가 좁을수록 좋다.

왜냐하면 변수의 범위가 넓으면 변수의 값이

잘못되었을 때 확인해야 되는 범위가 넓어져서이다.

 

변수의 범위는 자신이 선언된 순간부터 자신이 선언된 블럭의 끝까지

 

for문의 초기화, 조건식, 증감식은 모두 생략가능

생략할 시 조건식이 true랑 같다.

그럼 무한반복문이 된다.

for문 밖에 코드가 있다면

Unreachable code이 된다. 도달할 수 없는 코드

 

class Ex4_10 {
	public static void main(String[] args) { 
		int sum = 0;	// 합계를 저장하기 위한 변수.

		for(int i=1; i <= 5; i++) {
			sum += i ;	// sum = sum + i;
			System.out.printf("1부터 %2d 까지의 합: %2d%n", i, sum);
		}
	} // main의 끝
}
결과
i = 1, sum= 1
i = 2, sum= 3
i = 3, sum= 6
i = 4, sum= 10
i = 5, sum= 15

 

코드가 생각이 안나면 제일 쉬운 방법으로 코드를 짜보자!