JAVA 조건문

Walter Mitty·2022년 5월 17일
0

JAVA

목록 보기
5/21

조건문

이런 경우엔 이렇게 하고 싶어 or 저런 경우엔 저렇게 하고싶어. 라는 상황을 코드로 짜는 것.

int check = 100;
int num1 = 150;

if( num1 > check) {
	System.out.println("100보다 큰 수 입니다.");
}

프린트하면,

100보다 큰 수 입니다.

그런데 여기서,

if ( 50 > 100) {
	System.out.println("100보다 큰 수 입니다.")
}

하면 아무값도 출력되지 않는다.
왜냐하면 논리형에 맞게 true값이 안 나오면, if문은 true가 아니기 때문에 애초에 이 System~ 부분을 실행하지 않는다. 따라서 이 이후에 아무 코드가 없으므로 아무것도 출력하지 않는다.

int check = 100;
int num1 = 51;

if( num1 > check) {
	System.out.println("100보다 큰 수 입니다.");
} else if ( num1 > 50) {
	System.out.println("50보다 큰 수 입니다. 100보다 작거나 같습니다.");

프린트하면

50보다 큰 수 입니다. 100보다 작거나 같습니다.

만약 num1을 50으로 바꾼다면 또다시 아무것도 출력되지 않는다.

  • swich 문
    어떤 조건들을 미리 계층적으로 선언해놓는 방법
char score = 'A';
switch (score) {
	case 'A': //A인 case에 대해서는 난 ...을 할거야.
    	System.out.println("A등급 축하합니다.");
        break; //뒤에있는 case문을 확인하지 않고 이 switch블록을 탈출하겠다. 
    case 'B':
    	System.out.println("B등급 입니다.");
        break;
    case 'C':
    	System.out.println("C등급 입니다.");
        break;
    dafault: //default 뒤에는 아무런 조건 안 붙음
    	System.out.println("C보다 아래 등급입니다.");
}

score 이 A니까 A등급 축하합니다. 가 출력된다.

여기서 break 가 없다면 앞에서 A를 체크해서 A등급을 축하합니다 가 나오고 case B까지 넘어가서 확인하지않고 B등급 입니다 도 출력이된다.

score = 'B'로 바꿔주면
case A에 해당이 안되므로 case B 로 넘어가 B등급 입니다.가 출력된다

  • 삼항 연산자
    항이 세개인 연산자.
int a = 5;
String result = ( a < 10 ) ? "10보다 작습니다." : "10보다 큽니다.";
System.out.println(result);

프린트하면,

10보다 작습니다

논리 조건에 대해 ?가 붙으면 true일 때 수행할것, false일 때 수행할것을 적어주면,
? 를 기준으로, ( 연산 )이 true이면 왼쪽 : 오른쪽 중 왼쪽을 실행하고, 왼쪽이 false이면 오른쪽을 실행해서 출력한다.
실제로 a(5)가 10보다 작느냐는 중요하지않다.

int a = 11;
String result = ( a < 10 ) ? "10보다 작습니다." : "10보다 큽니다.";
System.out.println(result);

프린트하면,

10보다 큽니다.

0개의 댓글