📌 1. For문이란?
For 문이란 반복문 중 하나로, 특정 조건이 참인 동안 코드 블록을 반복해서 실행합니다. 주로 반복문의 횟수를 명확할 때 사용되며,
초기화, 조건 검사, 증감식을 한 줄에 표현하여 코드를 간결하게 작성할 수 있습니다.
For문을 만나면 초기식을 먼저 계산하고 조건식이 참이면 문장을 실행하여 변환식을 계산하고 다시 조건식을 검사하는 반면, 조건식이 거짓이면
문장을 실행하지 않고 For문을 종료한다.
📌 2. For문의 구조?
📌 초기화식 (Initialization) : 반복문이 시작될 때 최초에 한 번만 실행되는 부분으로, 변수의 초기화
📌 조건식(condition) : 반복문이 실행될 조건을 검사하는 부분으로, 조건이 "true"인 동안 반복
📌 증감식(increment / decrement) : 각 반복이 끝날 때마다 실행되는 부분으로 변수의 값을 증가시키거나 감소
1~100 까지의 합을 계산하는 프로그램이다.
int sum = 0; 정수형 변수 sum을 선언하고 초기값을 0으로 설정한다.
for(int i = 1; i <=100; i++) { } : 1부터 100까지 반복하는 for 루프를 시작하고 변수를 1부터 100까지 증가시킨다.
sum = sum + i; : 각 반복에서 sum 변수에 i 값을 더한다.
System.out.println("1~100의 합 : " + sum); : 1부터 100까지의 합인 sum 값을 출력한다.
📌 3. 중첩 For문이란?
중첩 For 문이란 반복문 중 하나로, for 문 안에 또 다른 for문을 내포하는 for문이다. 바깥쪽 for문이 한 번 실행할 때마다 중첩된 for문은 지정된 횟수만큼 반복해서 돌다가 다시 바깥쪽 for문으로 돌아간다.
중첩 For 문이란 반복문 중 하나로, for 문 안에 또 다른 for문을 내포하는 for문이다. 바깥쪽 for문이 한 번 실행할 때마다 중첩된 for문은 지정된 횟수만큼 반복해서 돌다가 다시 바깥쪽 for문으로 돌아간다.
바깥쪽 for 문은 m이 2에서 9까지 변하면서 8번 반복 실행되는데 바깥쪽 for 문이 1번 실행할 때마다 중첩 for문은 n이 1에서 9까지 변하면서 9번 반복 실행한다. 즉 m= 2일 때 n은 1~9까지 변하면서 2 x n = 2*n을 출력하게 된다.
📌 4. For문에서 주의해야 할 내용은?
1. 무한 루프에 주의 : 반복문의 조건식이 항상 "true"로 평가되면 무한 루프에 빠질 수 있다. 이는 프로그램이 종료되지 않고 계속 실행되는 상태가 된다. 무한 루프를 방지하려면 조건식을 신중하게 작성해야 한다.
2. 반복 변수의 범위에 주의 : for 문에서 선언된 반복 변수의 주의는 해당 for 블록 내부로 제한된다. 따라서 반복 변수를 반복문 외부에서 사용하려면 변수를 미리 선언해야 한다.
3. 초기화, 조건식, 증감식의 위치 주의 : for 문의 괄호 안에 있는 초기화, 조건식, 증감식은 각각 세미콜론(;)으로 구분되어야 한다. 각 부분을 생락하거나 잘못된 위치에 둘 경우 컴파일 오류가 발생할 수 있다.
4. break문 사용 시 주의 : for 문 내에서 break문을 사용하면 반복문을 종료하게 된다. 하지만 여러 중첩된 반복문이 있는 경우, 어떤 반복문을 종료할 지 명확하게 지정해야 한다.
5. 반복 변수 값의 변경 주의 : for 문 내에서 반복 변수의 값은 증가 또는 감소하는 등의 변경이 이루어진다. 만약 반복 변수의 값에 의존하는 다른 로직이 있다면, 그에 대한 영향을 주의깊게 확인해야 한다.
ForExample 클래스를 정의하고 배열에 저장된 과일들을 출력하는 예시이다.
ForExample 클래스는 과일을 저장하는 fruits 배열을 멤버 변수로 갖는다.
printFruits() 메서드는 fruits 배열을 반복하여 각 과일을 출력한다.
main() 메서드는 ForExample 클래스의 인스턴스를 생성한 후, printFruits() 메서드를 호출하여 배열에 저장된 과일을 출력한다.
📌 5. 향상된 For문이란?
향상된 For 문(Enhanced for loop) 이란 자바 5부터 도입된 반복문으로 컬렉션과 배열을 순회할 때 간편하게 사용할 수 있는 구문이다. 일반적으로 for문과 비교하여 코드가 간결해지고 가독성이 향상된다.
향상된 for문의 구조는 위와 같으며, 세미콜론(;)이 아닌 콜론(:)으로 구분한다.
변수명 : 배열명으로 선언한 뒤, 변수명을 출력하면 해당 인덱스대로 배열원소값이 출력된다.
확장for문은 일반적인 for문과 달리 배열과 컬렉션에 저장된 요소들을 읽어오는 용도로만 사용할 수 있다.
향상된 For 문(Enhanced for loop) 은 다음과 같이 사용된다. 배열 myArray의 각 요소를 변수 num에 순차적으로 할당하여 출력한다.
'JAVA' 카테고리의 다른 글
<Java Spring> Spring Boot 패키지 (0) | 2024.07.15 |
---|---|
[JAVA] 자바 변수(variable) 선언 및 초기화 (0) | 2024.05.12 |
[JAVA] Stack 메모리 구조 구현하기 (0) | 2024.04.23 |
[JAVA] Static, Stack, Heap | Java 메모리 영역의 구조와 특징 (0) | 2024.04.23 |
[JAVA] JVM(자바 가상머신) 과 메모리 구조 (0) | 2024.04.23 |