[Java] 조건문_if문, switch문

jeong·2021년 5월 12일
0

Java 자바

목록 보기
5/28

조건문_if문, switch문

조건문은 조건식에 따라 다른 실행문을 실행하기 위해 사용된다. 조건문의 종류로는 if문과 switch문이 있다.

if

문법 :
if(조건식) {
	조건식의 결과가 참일 때 실행하고자 하는 명령문;
} 

조건식이 true면 블록 내부(중괄호 안)을 실행하고 false면 블록을 실행하지 않는다.

if

if(ch>='a'&& ch<='z') {
	System.out.println("해당 문자는 영문 소문자입니다."); 
    //출력 값 : 해당 문자는 영문 소문자입니다. 
}

if-else

if 문과 함께 사용하는 else 문은 if 문과는 반대로 주어진 조건식의 결과가 거짓(false)이면 주어진 명령문을 실행한다.

if(조건식) {
조건식의 결과가 참일 때 실행하고자 하는 명령문;
} else {
조건식의 결과가 거짓일 때 실행하고자 하는 명령문;
}

if(score>=90) {
	System.out.println("A:점수가 90보다 큽니다.");
} else { //score<90인 경우
	System.out.println("B:점수가 90보다 작습니다.");
}

if-else if-else

조건식을 여러개 명시할 수 있어 중첩된 if문을 간결하게 표현할 수 있다.
else if문은 여러번 작성해도 되지만 if문과 else문은 딱 한번만 작성할 수 있다.

if(조건식1) {
조건식1의 결과가 참일 때 실행하고자 하는 명령문;
} else if(조건식2) {
조건식2의 결과가 참일 때 실행하고자 하는 명령문;
} else {
조건식1의 결과도 거짓이고, 조건식2의 결과도 거짓일 때 실행하고자 하는 명령문;
}

if(score>=90) {
	System.out.println("점수가 90~100점 입니다.");
} else if(score>=80) {
	System.out.println("점수가 80~89점 입니다.");
} else if(score>=70) {
	System.out.println("점수가 70~79점 입니다.");
} else{ //score<70
	System.out.println("점수가 70점 미만입니다.");
}

로또 번호 뽑기

int num =(int) (Math.random() * 45)+1;
//주사위 번호 뽑기
public class IfDiceExample{
	public static void main(String[] args) {
    	//주사위 번호 하나 뽑기 
        int num=(int)(Math.random()*6)+1; 
        
        if(num==1) {
       		System.out.println("1번이 나왔습니다.");
        } else if(num==2) {
       		System.out.println("2번이 나왔습니다.");
        } else if(num==3) {
        	System.out.println("3번이 나왔습니다.");
        } else if(num==4) {
       		System.out.println("4번이 나왔습니다.");
       } else if(num==5) {
     		System.out.println("5번이 나왔습니다.");
       } else if(num==6) {
     		System.out.println("6번이 나왔습니다.");        }         
   }
}

삼항 연산자에 의한 조건문

삼항 연산자(ternary operator) : 자바에서 유일하게 피연산자를 3개 가지는 조건 연산자

문법 :
조건식? 반환값1:반환값2

조건식에 따라 결과값이 참이면 반환값1을 반환,
결과값이 거짓이면 반환값2를 반환함


switch

switch문은 if문과 마찬가지로 조건 제어문이다.
주어진 조건값의 결과에 따라 프로그램이 다른 명령을 수행하도록 하는 조건문

switch(변수){
case1:
...; 
break;
case2:
...; 
break;
default:
...;
break;
}

변수의 값이 값1인 경우 첫번째 case코드를 실행하고 값2인 경우에는 두번째 case를 실행한다.

switch문에서 사용할 수 있는 변수의 타입 : int 범위 이하의 정수, 문자, String만 가능
=> char, byte, short, int, String (5개)

default : 둘 다 해당되지 않는 경우 default 코드를 실행한다. default 절은 반드시 존재해야 하는 것은 아니며 필요할 때만 선언 가능하다. (생략가능)

break : 각 case나 default절은 반드시 break를 포함하고 있어야 한다. break는 조건값에 해당하는 case절이나 default절이 실행된 뒤 switch문을 빠져나가게 해준다. break가 없는 경우 멈추지 않고 전부 실행해 해당되지 않는 값도 모두 출력하게 된다.

//String 타입의 switch문
String position = "과장";

switch(position){
case "부장":
	System.out.println("700만원");
break;
case "과장":
System.out.println("500만원");
break;
default:
System.out.println("300만원");
break;
} //출력값 : 500만원

if와 switch의 비교

if는 조건식이 true일 경우 블록 내부가 실행되고 switch는 변수가 어떤 값을 갖느냐에 따라 실행문이 선택된다. switch는 변수의 값에 따라 실행문이 결정되기 때문에 코드가 간결해 가독성이 좋다. 컴파일러가 최적화를 쉽게 할 수 있어 속도가 빠르다. switch문은 if-else문보다 사용할 수 있는 상황이 적다.

profile
배우는 초보개발자

0개의 댓글