Java 9. 반복문
loop
1. for문
- 어떤 조건이 성립하는 동안 반복 처리 실행하는 제어문.
- for 문
- while 문
- do ~ while 문
for문을 이용한 반복
① 1 ② 2 ④ 4
for(초기화식; 조건식; 증감식){
// 조건식이 true이면 실행될 코드(수행문) ③ 3
}
첫번째 루프의 흐름 : ① 1 => ② 2 => ③ 3 => ④ 4
두번째 루프의 흐름 : ② 2 => ③ 3 => ④ 4
세번째 루프의 흐름 : ② 2 => ③ 3 => ④ 4
public class ForTest3 {
public static void main(String[] args) {
// 1에서 100까지의 합중에 누적합계가 2000천 이상 일때 i 값을 출력하시오.
int sum =0;
int temp = 0;
for(int i=1;i<=100;i++) {
sum +=i;
if(sum>=2000) {
temp = i;
break;
}
System.out.println("sum : "+sum);
}
System.out.println("누적합계가 2000이상 일때 i의 값 : "+temp);
System.out.println("누적합계가 2000이상 일때 sum의 값 : "+sum);
}
}
중첩 for문 (double loop)
for(초기화식; 조건식; 증감식){
for(초기화식; 조건식; 증감식){
}
}
public class Gugudan {
public static void main(String[] args) {
for(int i=2; i<10;i++) {
for(int j=1; j<10; j++) {
System.out.println(i+" X "+j+" = "+(i*j));
}
System.out.println();
}
}
}
for문 요소의 생략, 응용
- 증감식에는 보통 ++등 단항식을 이용하는데 산술 연산식도 가능
2. while문
-
조건이 참(true)인 동안 반복 수행
- 무한 루프에 자주 사용
- 조건이 맞지 많으면 1번도 수행 안될수 있음
- 기본 형태
while(조건식){
// 조건식의 연산결과가 true일때 실행코드
}
public class WhileTest {
public static void main(String[] args) {
int sum = 0;
int i = 1;
/*
* while문 옆에는 조건식만 들어간다.
* for문에 비해서 일반적으로 반복에서는 가독성이 떨어진다.
*/
while(i<=100) {
sum+=i;
i++;
System.out.println(sum);
}
System.out.println("1~100까지의 합 : "+sum);
System.out.println();
/*
* while문은 무한루프용으로 많이 사용함.
* if()문 break문과 함께 무한루프를 벗어날 코드를 작성해 주는게 맞음.
*/
int j=1;
while(true) {
System.out.println(j);
if(j>=100) {
break;
}
j++;
}
}
}
3. do ~ while 문
-
조건과 상관없이 한번은 수행문을 수행
-
기본 형태
do{
수행문 1;
....
}while(조건식);
import java.util.Scanner;
public class DoWhileTest {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("메세지를 입력하세요.");
System.out.println("프로그램을 종료하려면, q를 입력하세요.");
String str =null;
do {
System.out.print(">");
str = sc.nextLine();
System.out.println("입력받은 메세지 : "+ str);
}while(!str.equals("q"));
System.out.println("프로그램을 종료합니다.");
sc.close();
}
}
4. break 문
-
하나의 반복문 or switch문을 빠져 나올때 사용함.
-
if문과 함께 사용하여 특정 조건을 만족하면 반복문 벗어나는 용도로 사용함.
5. continue 문
- 자신이 포함된 반복문의 끝으로 이동함.
- continue문 이후의 문장은 실행되지 아니함. 다음 반복문 실행함.
- break문과 달리 반복문을 빠져나가지 않음.
public class ContinueTest2 {
public static void main(String[] args) {
int num =0;
int count =0;
while((num++)<100) {
if((num % 2) !=0 || (num % 3) !=0)
continue;
count++;
System.out.println(num);
}
System.out.println("count : "+count);
}
}
6. 쓰임
while문 do~while문 for문
--------------------------------------------------------------------------------------
실행 조건이 참인동안 반복 ~~~ 초기화, 조건체크, 증감순
조건이 거짓이면 실행부분 수행문을 먼저 실행하고
이없음. 조건 체크
--------------------------------------------------------------------------------------
조건식의 결과나 변수가 true 특정 수의 범위
쓰임 false인 경우 주로 사용 횟수와 관련해 반복되는 경우,
배열과 함께 많이 사용됨.
--------------------------------------------------------------------------------------
댓글남기기