백엔드/Java
[Java]#9 반복문 For
쁘띠뀨띠
2023. 12. 14. 19:02
1_For문
- 기본 형태
package loop;
public class For {
public static void main(String[] args) {
for (초기식; 조건식 ; 증감식){
// 실행코드
}
}
}
- 초기식이 실행된다. 주로 반복 횟수와 관련된 변수를 선언하고 초기화 할 때 사용한다.
- 조건식을 검증한다. 참이면 코드를 실행하고, 거짓이면 for문을 빠져나간다.
- 코드를 실행한다.
- 코드가 종료되면 증감식을 실행한다. 주로 초기식에 넣은 반복 횟수와 관련된 변수의 값을 증가할 때 사용한다.
- 다시 조건식부터 시작한다.
*초기식, 조건식, 증감식 생략 가능. 무한반복, 단 (;)유지해야 한다.
예)
package loop;
public class For {
public static void main(String[] args) {
for (int i = 1; i <= 10 ; i++){
System.out.println(i);
}
// 1 2 3 4 5 6 7 8 9 10
}
}
- 초기식 실행 int i = 1
- 조건식 검증 i <= 10 // 1<=10
- 조건식이 참이면 코드 실행 System.out.prinln(i); // 1
- 코드가 종료되면 증감식 실행 i++ // 2
- 다시 조건식을 검증 i <=10 // 2<=10
- 무한 반복 후 i <= 10의 조건이 거짓이 되면 for문을 빠져나간다.
*문제 : i부터 하나씩 증가하는 수를 endNum까지 더해라
package loop;
public class For1 {
public static void main(String[] args) {
int sum = 0;
int endNum = 3;
for (int i = 1; i <= endNum; i++){
sum = sum + i;
System.out.println("i = " + i + " sum = " + sum);
}
// i = 1 sum = 1
// i = 2 sum = 3
// i = 3 sum = 6
}
}
*문제 : 1부터 시작해서 숫자를 계속 누적해서 더하다가 합계가 10보다 큰 처음 값은?
package loop;
public class Break1 {
public static void main(String[] args) {
int sum = 0;
int i = 1;
for(;;){
sum = sum + i;
if (sum > 10){
System.out.println("합이 10보다 크면 종료 : i = " + i + " sum = " + sum);
break;
}
i++;
}
// 합이 10보다 크면 종료 : i = 5 sum = 15
}
}
package loop;
public class Break2 {
public static void main(String[] args) {
int sum = 0;
for(int i = 1 ; ; i++){
sum = sum + i;
if (sum > 10){
System.out.println("합이 10보다 크면 종료 : i = " + i + " sum = " + sum);
break;
}
}
// 합이 10보다 크면 종료 : i = 5 sum = 15
}
}
2_중첩 반복문
package loop;
public class Nested1 {
public static void main(String[] args) {
for (int i = 0; i < 2; i++) {
System.out.println("외부 for시작");
for (int j = 0; j < 3; j++) {
System.out.println("내부 for" + i + "-" + j);
}
System.out.println("외부 for 종료 i:" + i);
System.out.println();
}
// 외부 for시작
// 내부 for0-0
// 내부 for0-1
// 내부 for0-2
// 외부 for 종료 i:0
//
// 외부 for시작
// 내부 for1-0
// 내부 for1-1
// 내부 for1-2
// 외부 for 종료 i:1
}
}