반복문
반복문은 어떤 작업이 반복적으로 실행되도록 할 때 사용되며, 반복문의 종류로는 for문, while문, do-while문이 있다.
for문은 반복 횟수를 알고 있을 때 주로 사용하고, while문은 조건에 따라 반복할 때 주로 사용한다. while문과 do-while문의 차이점은 조건을 먼저 검사하느냐 나중에 검사하느냐일 뿐 동작 방식은 동일하다.
int Num = 0;
Num++; //1
Num++; //2
Num++; //3
System.out.println(Num);
똑같은 실행문을 반복적으로 실행할 경우가 있다. 위에 코드는 1~3까지의 합을 구하는 것으로 작성되어 있다.
하지만 구하는 값이 커진다면 코드양이 엄청 늘어나게 된다.
for문
int sum = 0;
for(int i = 1; i < 100; i++){
sum = sum + i;
}
System.out.println("1~100까지의 합:" + sum);
반복문은 한번 작성된 실행문을 여러번 반복 실행해주기 때문에 코드를 간결하게 만들어 준다.
▶ ⓛ초기화식이 제일 먼저 실행이 되며 ②조건식을 평가해서 true일 때 ③ 실행문장을 실행시킨다.
블럭의 내부가 실행되면 ④증감식을 실행시키고 ② 조건식을 평가한다.
false이면 for문 블럭을 실행하지 않고 끝나게 된다.
while문
for문이 정해진 횟수만큼 반복한다면, while문은 조건식이 true일 경우에 계속해서 반복한다. 조건식이 false가 되면 반복행위를 멈추고 while문을 종료한다.
▶ ⓛ조건식을 평가한다 . 평가결과가 true이면 ②실행문을 실행한다.
실행문이 모두 실행되면 다시 조건식으로 되돌아가서 ⓛ조건식을 다시 평가한다.
조건식이 true라면 다시 진행하고, false라면 while문을 종료한다.
◆ 15번 num 값을 1증가하기
while문
int num = 0;
int z = 0;
while(z < 5) { //조건결과가 false인 경우 반복문 빠져나감.
num++;
z++; //반복횟수
System.out.println("반복횟수:"+z +" Num변수값 :"+num);
}
결과값
반복횟수:1 Num변수값 :1
반복횟수:2 Num변수값 :2
반복횟수:3 Num변수값 :3
반복횟수:4 Num변수값 :4
반복횟수:5 Num변수값 :5
◆ 5번 반복하면서 num 변수값 3배 증가하기
while문
int num = 1;
int i = 0;
while(i < 5) {
num *= 3;
System.out.println("반복횟수:" + i +"num변수값 :" + num);
i++;
}
for문
int numa = 1;
for(i = 0; i < 5; i++) {
numa *= 3;
System.out.println("반복횟수:" + i +"numa변수값 :" + numa);
}
결과값
반복횟수:0num변수값 :3
반복횟수:1num변수값 :9
반복횟수:2num변수값 :27
반복횟수:3num변수값 :81
반복횟수:4num변수값 :243
-------for---------------
반복횟수:0numa변수값 :3
반복횟수:1numa변수값 :9
반복횟수:2numa변수값 :27
반복횟수:3numa변수값 :81
반복횟수:4numa변수값 :243
do-while문
while문은 시작할 때부터 조건식을 검사하여 블럭 내부를 실행할지 결정하지만, 경우에 따라서 블럭 내부의 실행문을 우선 실행시키고 실행결과에 따라서 반복 실행을 계속할지 결정하는 경우도 발생한다.
▶ ⓛ실행문을 우선 실행한다. 실행문이 모두 실행되면 ②조건식을 평가하는데 그 결과가 true이면 반복 실행을 하고,
조건식의 결과가 false이면 do-while문을 종료한다.
작성시 while문 뒤에 반드시 세미콜론(;)을 붙여야 한다.
'java' 카테고리의 다른 글
java_13_java.lang과 java.util 패키지 & toString(), equals() (0) | 2021.10.26 |
---|---|
java_12_예외처리2 (예외 처리 코드 ,다중catch ,catch순서,예외떠넘기기) (0) | 2021.10.24 |
java_12_예외처리 (0) | 2021.10.22 |
java_ 3_조건문(if문, switch문) (0) | 2021.10.22 |
java_11_인터페이스 (0) | 2021.10.21 |