4. 제어문

InSeok·2022년 5월 14일
0

자바

목록 보기
4/9

참조 : Do it Java 완전정복
http://www.yes24.com/Product/Goods/103389317

제어문

  • 프로그램의 처리순서를 바꾸는 것
  • 모두 중괄호를 포함 하고 있으나 , 실행문이 1개일 때 중괄호를 생략할 수 있다
    • 중괄호 생략시, 컴파일러가 자동으로 삽입하나 하나의 실행 구문만 감싼다.

if 선택 제어문

1. if 단일 구문

if 조건식 {

실행구문; // 조건식이 true일 때만 실행

}

  • 조건식은 boolean 타입(true,false)만 가능
  • 조건식 = false 일 경우 중괄호안 실행 X

2. if - else 구문

if(조건식) {

실행구문; // 조건식 true일경우 실행

}

else {

실행구문; // 조건식 false일 경우 실행

}

3. if-else if -else 구문

if(조건식 1) {

실행 구문; // 조건식이 true일 때 실행한 후 제어문 탈출

}

else if (조건식 2) {

실행 구문; // 조건식 2가 true일 때 실행한 후 제어문 탈출

}

...

else if (조건식 N) {

실행구문 ; // 조건식 N이 true일 때 실행한후 제어문 탈출

}

else {

실행 구문 // 모든 조건식이 false일 때 만 실행

}

Switch 선택 제어문

  • switch문은 점프 위치 변숫값에 따라 특정 위치(case)로 이동해 구문실행
  • 점프 위치는 ‘case 위칫값:’으로 설정
  • 콜론(:)문자가 붙은 값은 이동할 위치를 가리키는 일종의 팻말 역할
  • default: if 문의 else 와 비슷한 기능
  • 구조 switch(점프 위치 변수) { case 위칫값 1: // 점프 위치 변수 = 위칫값 1이면 이 위치로 이동 실행구문; case 위칫값 2: // 위칫값 2면 이위치로 이동 .. case 위칫값 n: 실행 구문; default: //일치하는 위칫값이 없을 때 이 위치로 이동 실행 구문; // 생략 가능 } ex ) case 점프 위치 변숫값이 2일 경우 2부터 1줄씩 차례대로 실행
  • break 제어 키워드 - if 문을 제외한 가장 가까운 중괄호{}를 탈출
  • 위칫값으로 정수,문자,문자열만 사용가능

for 반복 제어문

for(초기식; 조건식; 증감식) {

실행 구문; 조건식이 true인 동안 실행

}

  • 조건식이 true인동안 실행 구문 계속 반복. 조건식이 false가 나오면 for문 빠져 나감.
  • for문이 끝나는 위치는 닫힌 중괄호가 아니라 조건식이다.
  • 초기식에 포함된 변수는 for문의 내외부에서 선언가능
    • 외부에서 변수 선언하고 초기식에서 초기화만 했을때, for 문이 종료된 이후에도 변수는 사라지지 않는다.
    • for 문의 초기식 안에서 선언 했을 때는 for 문의 내부에서만 사용가능.
    • 초기식과 증감식은 쉼표로 구분해 여러개를 동시에 표기가능
  • for 문의 동작순서
    1. 초기식 → 조건식(참) → 실행구문
    2. 중괄호 닫힘 → 증감식 → 조건식(참) → 실행 구문
    3. 중괄호 닫힘 → 증감식 →조건식(거짓) → 종료
    4. 조건식을 생략하면 컴파일러는 자동으로 true 입력(무한 루프)

While 반복 제어문

  • 구조 : 초기식; while(조건식) { 실행구문; 증감식; }
  • 초기식과 증감식은 생략가능하지만, 대부분 사용
  • 초기식은 while 문 실행 이전에 정의 되어야 한다.
  • 동작순서
    1. 조건식(참) → 싫애구문
    2. 중괄호 닫힘 → 조건식(참) → 실행 구문
    3. 중괄호 닫힘 → 조건식(거짓) → 종료

do-while 반복 제어문

  • 구조 초기식; do { 실행 구문 ; // 최초 1회는 무조건 실행 증감식; } while(조건식); // 중괄호가 없어 세미콜론으로 끝남
  • 순서
    1. 실행구문
    2. 조건식(참) → 실행 구문
    3. 조건식(거짓) → 종료

제어 키워드

break 제어 키워드

  • if 문을 제외한 가장 가까운 중괄호를 탈출.
  • 반복문안에 if문과 함께 break 사용 for(int i = 0; i < 10; i++) { if(i == 5) { break; // if문으로 break 키워드 실행할 조건 설정 } System.out.println(i); } → break 로 탈출하는 중괄호
  • 이중 for문 한번에 탈출하기 위해 break 수행전 바깥쪽 조건식이 false가 되도록 i 값을 큰값으로 변경하기
  • 아니면 break + Label(레이블) 사용
    • 레이블명 임의로 지정 가능

    • 리이블명 다음에 반드시 콜론(:)표시

      ex)

      out: // 레이블 위치 지정(break하고자 하는 반복문 앞에 레이블 표기)

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

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

      if ( j == 3)

      break out; //out 레이블이 달린 반복문 탈출

      System.out.println(i + “ , “ + j);

      }

} // break out으로 탈출하는 중괄호

continue 제어 키워드

  • continue는 반복 제어문의 닫힌 중괄호(}) 역할을 하는 제어 키워드다. for(int i = 0; i < 10; i ++) { if(i ==5) { continue; //if 문으로 continue를 실행할 조건 설정 } System.out.println(i); } // continue가 대체하는 중과호
  • if문을 제외한 가장 가까운 중괄호의 닫힌 괄호의 역할 수행
  • continue 또한 Labe 사용가능 Pos1: // 레이블 위치 지정 for(int i = 0; i < 5; i ++) { for(int j = 0; j < 5; j++) { if(j ==3) { continue POS1; // POS1 레이블이 달린 반복문의 닫힌 중괄호 대체 } System.out.println(i + “, “ + j); }

} → continue POS1로 대체하는 중괄호

profile
백엔드 개발자

0개의 댓글