[JAVA] 자바 제어문

logg·2020년 12월 31일
0
post-thumbnail

1. 조건 제어문

  • if문

    • 조건에 따라 선택적으로 문장이 수행되는 분기문 처리 시에 사용함
    • 특정 조건에 부합되면 해당 문장을 실행하고, 부합되지 않으면 다음 수행 구문으로 넘어감
  • if-else문

    • Expression이 true인지 false인지에 따라 특정 Statement만 수행되도록 처리할 때 사용함
  • if-else if문

    • 여러 개의 조건에 따른 다중 선택이 필요할 때 사용
  • switch문

    • if-else if 문을 이용하는 대신 다중 분기 처리를 할 수 있음
    • Expression에 대한 고정된 값들 중에서 하나를 수행할 수 있게 함
    • case 문 끝에 break 문이 없다면 -> break 문이 나타나거나, switch 블록이 끝날 때까지 다음 case문에 대한 문장을 차례대로 수행해야 함

2. 반복 제어문

  • 반복적으로 특정 문장을 수행함
  • 반복 제어문은 조건식을 포함해야 함
    • for, while문에 사용되는 조건식의 연산 결과는 true 또는 false를 사용함
  • for 블록 내 선언된 변수는 for 블록 내부에서만 사용함
  • for 블록을 포함하는 메서드 내에서 선언된 변수와 같은 이름으로 선언할 수 없음
    • for 블록 내의 변수는 외부에서 호출이 불가능함
public class ForTest{
	public static void main(String args[]) {
    		for (int i = 0; i < 10; i++) {
            		System.out.println("숫자:" + i);
                    int i = 20; // Error 발생, 블록 안에서 선언된 i<10 보다 20이 크기 때문에 사용 불가능
                    }
                    System.out.println("최종 증가된 i값 : " + i); // Error!! 블록 안에서 선언된 i값은 블록 밖에서 사용 불가능
               }
}
  • while문
while(조건문) {
	Statement1; //while 조건문이 true일때 수행
}
Statement2; //while 조건문이 false일때 수행
  • do-while문
    • while문과 비슷하나, 반복문을 제어하는 식이 반복 블록 다음에 있음
    • 반복 블록이 표현식 앞에 있으므로, 표현식이 false라도 반복문을 최소한 한 번은 실행함
    • 비고: 그렇다면 while문과 비교해서 언제 do-while문을 쓰는 게 좋을지 google에게 물어봤다. 그 결과, do-while문을 쓰는 데에는 최소 한 번 블록 내 코드가 실행되어야할 때라고 한다.
      ex) 최소 한 번은 이메일을 입력 하게 하고 나중에 이메일 진위여부를 파악하고 싶을 때 do-while문을 쓰면 된다고 한다.

3. 이동 제어문

  • 수행 흐름을 원하는 곳으로 이동시킬 때 사용

  • break

    • switch문에서 쓰일 경우, 수행을 중단하고 swtich 블록을 종료할 때 사용
    • 반복 문에서 쓰일 경우, 수행을 중단하고 반복문 자체를 종료할 때 사용
  • continue

    • 반복문(for,while)문에서 현재 단계의 수행을 생각하고 다음 단계로 계속 진행함
public class ContinueTest{
	public static void main(String args[]) {
    		int[] scoreList = {98, 57, 49, 100, 99, 85, 77};
            int scoreSum = 0;
            for (int i = 0; i < scoreList.length; i++) {
            		if((scoreList[i] % 2) !=0 {
                    		continue; // 배열 내 숫자가 홀수이면 여기서 종료하고 다음 반복문을 수행한다.
                        }
                        scoreSum = scoreSum + scoreList[i]; // 짝수일 때만 실행된다.
             }
             System.out.println("scoresum=" + scoreSum);
         }
}
  • return
    • 메서드의 수행을 종료하고 메서드가 호출된 곳으로 제어를 이동시킴

      출처: SWEA사이트

profile
logg

0개의 댓글