Java - 조건문

2019년 04월 24일

조건문

조건식

 v4.equals("duke") // js에서는 v4 === "duke" 랑 동일하다. 자바 스트링의 경우 같다는 의미를 equals 문법을 사용하여 나타낸다.

Switch문

  1. Switch문의 조건식 결과는 정수 또는 문자열이어야 한다.
  2. CASE문의 값은 정수 상수만 가능하다.
  3. Switch문의 결과는 long이나 실수형일 수 없다. (int와 자동형변환되는 int보다 작은 타입들 가능)
  4. CASE문에는 변수를 쓸 수 없다.
int num;
final int ONE = 1;

switch(result) {
    case num: // error (상수가 아닌 변수이기 때문
    case 1.0: // error (실수 x)
    case ONE: // 상수 ok
    case '1' // 문자 ok (정수 49와 동일)
    case "1" // 문자열 ok
}

break에 라벨 붙이기

public class BreakTest {

	public static void main(String[] args) {
		label: for(int dan = 1 ; dan <= 9 ; dan++) {
			for(int num = 1 ; num <= 9 ; num++) {
				if(dan * num > 30) {
					break label;
				}
				System.out.print(dan + "x" + num + " = " + dan * num + "\n");
			}
			System.out.println();
		}
	}
}

원래 break가 설정되면 가장 가까운 loop만 탈출하는데, 식별자를 붙이게 되면 식별자가 붙은 loop를 탈출한다. 위의 예시에서는 두 개의 for문이 쓰였는데, label: 이라는 식별자를 첫 번째 for문에 붙여주었다. 그렇게 되면 4 * 7 = 28를 출력한 뒤 전체 for문을 탈출한다.