본문 바로가기

JAVA

[JAVA] 기초문법 - 제어 흐름 이해하기(1)

조건문

if(조건식){

수행문;

}

if(age>8){

System.out.println("학교에 간다")

}

조건문을 만족해야 실행

if(조건식){

System.out.println("학교에 간다")

}else{

System.out.println("학교에 안간다")

}

else는 첫번째 조건식을 만족하지 않을 때 실행

수행문이 1개 일경우 중괄호 생략 가능하지만, 가독성을 위해 수행문이 1개라도 쓰는 것이 좋다.

if(age>8) System.out.println("가능")

if (조건1){

수행문1

}else if(조건2){

수행문2

}else if(조건3){

수행문3

}else{

수행문4

}

맞는 조건 탐색 후 조건에 맞는 수행문 실행 모두 만족하지 않으면 else에 있는 수행문 실행 조건1을 만족하는데 조건2도 만족 한다고 해서 조건2의 수행문이 실행되지는 않고 if문을 빠져 나간다.

if-elseif 문이 아닌 다중 if문으로 작성하면 모든 조건을 탐색한다.

번외

int num=10;

System.out.println("문자열"+num+"변환");

// num을 문자열로 변환해서 문자열끼리 이어줄 수 있다.

switch-case문

조건식의 결과가 정수 또는 문자열의 값이고 그 값에 따라 수행문이 결정될때 switch-case 사용 가능.

int rank=1;

switch(rank){

case 1 : color="g";

break;

case 2 : color="r";

break;

default : color="b";

}

rank가 1인경우 실행되는 코드이다.

rank 값에 따라 실행되는 부분이 정해지며, break를 만나야 switch-case문을 탈출 한다. break를 사용하지 않으면 순서대로 계속 실행된다. default는 만족하는 case가 없을때 실행된다.

자바 7부터 switch-case 문 case값에 문자열 사용 가능

String medal="g"

switch(mdeal){

case "g":

System.out.println("g");

break;

}

즉, 위와 같이 문자열 사용 가능

case 여러가지 묶어서 만들기

int month=5;

int day=0;

switch(month) {

case 1: case 3: case 5: case 7: case 8:case 10:case 12:

day=31;

break;

case 2:

day=28;

break;

case 4: case 6: case 9: case 11:

day=30;

break;

}

System.out.println(day);

이런식으로 case를 다중으로 묶어서 사용 가능.