본문 바로가기
지식공유/JAVA

JAVA 수업 복습 정리(8)_제어문(if, switch, for, while, break, continue, return)/Operator/java/프로그래밍

by 시간기억자 2024. 8. 5.
반응형

* 제어문(if, switch, for, while, break, continue, return)

  • 제어문(Control Statement) : 프로그램의 흐름(스레드)을 바꾸는 명령
  • 스레드는 기본적으로 위에서 아래로(순차적으로) 읽는다.
    이 흐름을 바꿔주는게 제어문이다.
  • 선택문(if, switch), 반복문(for, while), 기타(break, continue, return)

 

* if 문

  • if 문 : 조건식에 의해 명령을 선택 실행하기 위한 선택문을 작성하기 위한 키워드
  • 형식 1)
    : if(조건식){명령; 명령; …}
    → 조건식의 결과값이 [true]인 경우 블럭 내부에 작성된 명령들 실행
    → 블럭 내부에 작성된 명령이 하나인 경우 블럭 기호 생략 가능

  • 형식 2)
    : if(조건식){명령; 명령; …} else{명령; 명령;...}
    → 조건식의 결과값을 구분하여 명령을 선택 실행

  • 형식 3)
    : if(조건식){명령; 명령; …} else if(조건식){명령; 명령; …} else{명령; 명령; …}
    → 다수의 조건식에 작성하여 조건식이 참인 블럭 내부의 명령을 선택 실행
    → 모든 조건식이 거짓인 경우 else 블럭의 명령 실행(else는 생략 가능)

 

* 지역변수(LocalVariable)

  • 지역변수(Localvariable) : 메소드 블럭({  }) 내부에서 선언된 변수
    → 지역변수는 선언된 블럭이 종료되면 자동 소멸되므로 선언된 블럭 내부에서만 사용이 가능하다.
    → 클래스(class) 안에 변수를 설정한 것이 필드(Field)이다.



* switch 문

  • switch : 값을 비교하여 명령을 선택 실행하기 위한 선택문을 작성하는 키워드
  • 형식)
    switch(변수 또는 연산식){
            case 값1 : 명령; 명령; … break;  ⇒ break는 생략 가능
            case 값1 : 명령; 명령; … break;  ⇒ break는 생략 가능
            case 값1 : 명령; 명령; … break;  ⇒ break는 생략 가능
            ….
            default : 명령; 명령; … ⇒ 생략가능
    }
  • switch 키워드로 제공되는 변수값 또는 연산 결과값을 case 키워드로 제공되는 값과 비교하여 같은 값인 경우 case 위치의 명령부터 하단에 작성된 모든 명령을 실행
  • switch 키워드 및 case 키워드로 제공되는 값은 반드시 리터럴 또는 상수만 작성 가능하며 중복 작성될 경우 에러가 발생한다.(실수값은 사용 불가능)
  • case 키워드로 제공되는 값은 반드시 리터럴 또는 상수만 작성 가능하며 중복 작성될 경우 에러가 발생
  • 명령 실행시 break 키워드를 실행하면 switch 명령은 종료된다.
  • switch 키워드로 제공되는 값이 case 키워드로 제공되는 값과 모두 다른 경우 default 키워드의 명령이 실행된다. 

 

* break 문

  • break : switch 구문 또는 반복문을 강제로 종료하기 위한 키워드



* continue 문

  • continue : 반복문의 명령을 처음부터 다시 실행하기 위한 키워드
  • 반복문의 블록 내부에서 continue 명령이 실행되면 하단에 작성된 명령을 실행하지 않고 블럭 내부의 명령을 처음부터 다시 실행한다.

 

* for 문

  • for : 조건식에 의해 명령을 반복 실행하기 위한 명령을 작성하는 키워드
    → for : 반복의 횟수가 정해져 있을때 사용
    → while : 반복의 횟수가 정해져있지 않을 때 사용
  • 형식)
    for(초기식;조건식;증감식) {명령; 명령; …}
    → 초기식 : 변수에 초기값을 저장하는 연산식
    → 증감식 : 변수값을 증가하거나 감소하는 연산식
  • 초기식, 조건식, 증감식은 반드시 [;] 기호를 사용하여 구분
    (for 구문에는 반드시 [;] 기호가 2개 존재해야 한다.)
  • 해석순서
    : 초기식 >> 조건식(참) >> 블럭 내부의 명령 실행 >> 증감식 >> 조건식(참) >> 블럭 내부의 명령 실행 >> 증감식 >> 조건식(참) >> 블럭 내부의 명령 실행 >> … (반복)
  • 조건식의 결과값이 거짓인 경우 반복문이 종료된다
  • 초기식, 조건식, 증감식 생략이 가능하다 → 조건식이 생략된 경우 무조건 참으로 처리한다.
    (주의) 조건식의 결과값이 무조건 참인 경우 무한루프가 발생할 수 있다.

  • 반복문 작성시에 반복문을 구분하기 위한 식별자(라벨명) 선언이 가능하다
  • 형식)
    라벨명 : 반복문 ⇒ [라벨명 :] 다음 줄바꿈 하고 반복문을 적어도 된다
//반복문에 식별자 선언한 예시코드
loop : for(int i=1;i<=5;i++) {
for(int j=1;j<=5;j++) {
//break 라벨명 : 라벨명으로 지정된 반복문 종료
if(j == 3) break loop; //for(int j=1;j<=5;j++) 종료
System.out.println("i = "+i+", j ="+j);
}
}

 

* 이중 for 문

  • 이중 for : for 문 안에 또 다른 for 문을 이중으로 사용
for(int i=1;i<=3;i++) {//[가]나라에서 섬으로 이동하는 갯수 - 3번 반복
for(int j=1;j<=4;j++) {// 섬에서 [나]나라로 이동하는 갯수 - 4번 반복
count++;
}
}



* while 문

  • while : 조건식에 의해 명령을 반복 실행하기 위한 명령을 작성하는 키워드
  • 형식)
    while(조건식){명령; 명령; …}
  • 조건식의 결과가 참인 경우 블럭 내부의 명령을 반복 실행한다.
  • 조건식의 결과가 거짓인 경우 반복을 종료한다.
  • 반복의 횟수가 명확하지 않은 경우 사용하는 반복문이다.
  • 조건식을 생략할 수 없으며, 블럭 내부의 명령을 0번 이상 실행한다.

  • Do while : 조건식이 거짓이여도 명령을 1번은 실행하고자 할때 사용

형식)
do{명령; 명령;...} while(조건식);
→ 블럭 내부의 명령을 1번 이상 실행(조건식이 거짓이라 할지라도)

반응형

댓글