버글버글

Java 수업 기록 (4) 반복문(for, while), break, continue 본문

java/java 수업 기록

Java 수업 기록 (4) 반복문(for, while), break, continue

Bugle 2022. 7. 22. 15:00
반응형

[반복문(loop)] 

▶ for 문 

1. 연속된 숫자를 생성할 때 주로 사용 (어떤 실행문을 여러 번 반복해서 실행하는 경우에 사용)

2. 배열과 함께 자주 사용 (아직 안배운 내용)

3. 조건문을 만족하면 계속해서 실행

4. 실행문은 중괄호{}로 묶어서 표시

  실행문
     for(초기문; 조건문; 증감문) {
          실행문
     }
  초기문 : 선언하듯이 선언해 두는 것 (int n = 1;)
  조건문 : 비교 대상이 필요 (n <= 10)
  증감문 : (++, --)

예시)

 for(int n1; n <= 10; n++) {
   System.out.print(n);
    } 
  Console      1234567910

▶ nested for문 (for안에 for이 포함되다) 

1. 진짜 많으면 for안에 for안에 for 정도는 볼 수 있으나, 3개 이상의 for은 보기 어렵다.

예시) 

 1일차 1교시
 2일차 2교시
 ...
 1일차 8교시
 2일차 1교시
 ...
 3일차 8교시

  for(int day = 1; day <= 3; day++) {
  for(int hour = 1; hour <= 8; hour++) {
  System.out.println(day + "일차 " + hour + "교시");
   }
  }
  Console    1일차 1교시
  1일차 2교시
  ...
  3일차 7교시
  3일차 8교시

▶ while 문 

1. 특정 실행문을 여러 번 반복할 때 사용.

2. 특정 반복 횟수가 정해지지 않은 경우에 사용 ( ex : 통장 잔고 70,000원이 있는데, 450원씩 인출 시, 모든 통장 잔액 출력)

3. 조건식을 만족하면 계속해서 실행

4. 실행문은 중괄호{}로 묶어서 표시

5. 실행문이 단일 문장인 경우 중괄호{} 생략 가능

6. 조건문을 통해서 종료 시점을 판단

7. 파일 읽기, 데이터베이스 데이터 읽기에서 많이 사용

  실행문
     while(조건문) {
          실행문
     }
  if문과 똑같이 생김

예시)

     int balance = 79350;
     int money = 450;
     while(balance >= money) {
         System.out.println("잔액 " + balance + " 인출액 " + money); 
          balance -= money;
          }
    System.out.println("잔액 " + balance);
  Console    잔액 79350 인출액 450
  잔액 78900 인출액 450
  ...
  잔액 600 인출액 450

  잔액 150

 

break 문 

1. 반복문(for, while)을 종료시킬 때 사용

2. switch문을 종료시킬 때 사용

  실행문
     while(true) {
          if(조건문) {
                   break;
          }

     }
  if문과 똑같이 생김

예시)

1. 모금 목표 : 100,000원

2. 한 번에 50000원 씩 모금

3. 1회 모금액 50000원    현재 50000원

    2회 모금액 50000원    현재 100000원

4. 3번과 같이 출력

    int total = 0
    int money = 50000
    int  serial = 0
     int goal = 1000000
    while(true) {
        if(total >= goal) {
            break;
        }

        total += money;
        serial++;
       System.out.println(serial + "회 모금액 " + money + "원" + "\t현재 " + total + "원");
    }
  Console    1회 모금액 50000원    현재 5000원
  2회 모금액 50000원    현재 10000원
  ...
  20회 모금액 50000원    현재 100000원

 

continue 문 

1. 반복문(for, while)을 종료시키지 않고, 반복문의 시작 지점으로 이동

2. 반복문에서 실행을 제외하고 싶은 경우에 사용

* continue가 많이 들어가면 좋은 코드가 아니며, 대체코드가 많아 별도의 공부는 필요없고 이런게 있구나 라고만 알면 됨.

  실행문
 while() {
   a;
   b;
   c;
   continue;
   d;
   e;
   f;
   g;
   h;
    }
  a, b, c만 실행하고 다시 while문으로 이동한다.
  그래서 무한 반복 되므로 보통 if continue; 를 쓴다.

예시)

1 ~ 100 중에서 3의 배수를 제외하고 모두 더하기

    int total = 0;
    int n = 0;

    while(n < 100) { 
        n++; 
        if(n % 3 == 0) {
            continue
        }

        total += n;
    }

System.out.println("합계 " + total);
  Console   합계  3367

- 아래 예시는 continue 없는 코드풀이.

- continue 없이 코드를 만드는 건 언제나 가능하다.

    total = 0;
    n = 0;
    while(n < 100) {
        n++;
        if(n % 3 != 0) {
            total += n;
        }
    }

System.out.println("합계 " + total);
  Console    합계 3367

 

▶ 기타사항 

1. System.out.println 에서 println의 'ln' 은 'line' 이라는 의미를 지님

  - 개발을 하다가 " System.out.println(); " 이라는 문구를 자주 보게 될것이다.

  - 이 의미는 줄 바꿈 이라는 의미임.

  - "System.out.print();"는 줄을 바꾸지 않고 출력됨

 

2.

    1) String stra;

        stra = "★"

        star = "★"

        = 결론적으로 ★이 한 개

    2) String stra = "";

        stra = "★"

        star = "★"

        = 결론적으로 ★이 두 개

 

3. 원래 클래스 이름에는 패키지 다음에 마침표(.)를 적고 클래스 명을 적는다.

     ex ) java.lang.System.out.println("Hello"); 가 원래 FM이다.

             (프로젝트 > JRE System Library > java.lang)

    - java.lang 패키지에 소속된 클래스들은 패키지를 생략할 수 있다.

 

 

4. Ctrl + Space bar 누르면 사용법이 나옴. 단, 괄호나() 세미콜론(;)이 없어야 한다.

 

반응형