반복문_for문, while문, do-while문, break, continue

2024. 10. 18. 12:09java

for문 :

반복 횟수를 정확하게 알고 있을 때 사용

 

[ 표현법 ]
  for(초기식; 조건식; 증감식){
  반복적으로 실행하고자 하는 코드;

}

  • 초기식: 반복문을 시작할 때 "초기에 단 한번만 실행"될 구문
                 반복문을 사용할 때 필요한 변수를 선언하고 초기화 하는 구문        ex) int i = 0;

  • 조건식: "반복문이 실행될 조건"을 작성하는 구문
                 조건식의 결과값이 true일 경우 반복을 수행
                 조건식의 결과값이 false일 경우 반복문을 멈추고 for문 블럭 종료    ex)  i <10;

  • 증감식: "반복문을 제어하는 변수에 대입된 값을 증감"하는 구문
                 보통 초기식에서 선언된 변수를 가지고 증감식 작성
                 이 때, 보편적으로 증감연산자를 사용함                                            ex)  i++

for(int i = 0; i < 10 ; i++) {

}

 

[구구단 프로그램]

public void gugudan() {

// 구구단 프로그램

// 사용자에게 정수를 입력 받아서 구구단을 출력해보자

 

Scanner sc = new Scanner(System.in);

System.out.println("=====구구단을 외자!!=====");

System.out.println("몇 단을 출력하시겠습니까? > ");

int dan = sc.nextInt();

 

System.out.println(dan +"단");

 

for(int i = 0; i <= 9; i++) {

System.out.println(dan + "X" + i + "=" + (dan*i));

 

}

}

 

 

While문:

반복의 횟수를 가늠할 수 없을 때 사용 (무한반복문)

조건식이 ture일때 실행하는 코드로, 거짓이 되기 전까지 { }의 코드를 반복적으로 수행함

 

[ 표현법 ]

while(조건식) {
반복적으로 실행하고자 하는 코드;

}

 

public void method1() {

 

// 1 ~ 100까지의 정수 중 짝수만 더해서 결과 출력!

// 1단계: 1부터 100까지 모두 더한 합계 출력하기

 

int i = 1;

int sum = 0;

 

while(i <= 100) {

 

if(i % 2 == 0) {

sum += i;

}

sum += i;

System.out.println(i);

i++;

}

System.out.println(i);

System.out.println("합계: " + sum);

}

 

 

do - while문:

별도의 조건검사 없이 무조건 한 번은 실행

조건이 true값이 아니더라도 한 번은 꼭 수행함.

 

 [ 표현법 ]

do {
 실행할 코드;
 증감식; // 필수 X
 } while(조건식);

do {

System.out.println("무조건 한번은 수행합니다.");

} while(false);

 

 

 

break:

break문을 만나는 순간 현재 자신이 포함된 반복문을 벗어날때 사용 (안쪽 반복문만 종료)


※ 주의사항: switch문 내부에 작성하는 break문 과는 구분해야함!
                     switch문 내부에 break는 해당 swith문을 빠져나가는 용도로 사용

public void method2() {

// 사용자에게 반복을 하면서 매 번 문자열을 입력받은 후

// 해당 문자열의 길이를 출력

// 단, 사용자가 입력한 문자열이 "exit"과 같다면 반복을 종료

 

Scanner sc= new Scanner(System.in);

 

while(true) {

System.out.println("문자를 입력해주세요(종료를 원하신다면 'exit'을 입력해주세요) > ");

String keyword = sc.nextLine();

 

System.out.println(keyword.length());

 

if(keyword.equals("exit")) {

System.out.println("프로그램을 종료합니다.");

break;

}

}

}

 

 

 

 

continue:

반복문 안에서 사용하는 구문으로 다시 시작함

continue문을 만나면 그 밑에 어떤 구문이 존재하던 실행하지 않고 pass (증감식으로 이동)

가장 가까운 반복문 블록으로 올라가는 것을 의미 

 

public void method3() {

// 10번 반복 + 홀 수일 경우에만 출력

 

for(int i = 1; i <= 10; i++) {

if(i % 2 == 0) {

continue;   //continue 만나면 밑으로 떨어지지않고 바로 증감식으로 이동함
                 (
break는 반복문 바깥으로 탈출, continue는 다시 시작)

}

System.out.println(i);

}

}