JAVA

자바 조건문 - if & switch

커피마시기 2023. 3. 29. 02:11

 

 

■ 조건문

조건문은 어떠한 조건이 있다면 그 조건에 따라 결과값이 달라지는 문장이 수행되며  if문과 switch문의 종류가 있다

if문에는 if, else if, else 가 있고  switch문은 case, default, break 로 구성된다

 

 

 

● if문

if(조건식) { 
           <수행할 문장>;
 }

가장 기본적인 조건문이며 조건식이 true이면 수행할 문장이 실행되고 false 일 경우 if문을 빠져나온다

 

int A = 8;
int B = 5;
if(A>B) {
		System.out.println("A가 B보다 큽니다");
	}

A 값이 B보다 클 경우에는 "A가 B보다 큽니다"가 실행이 되고 B가 더 클 경우에는 실행되지 않고 조건문을 빠져나오게 된다

 

 


 

● if else문

if(조건식){
	실행문장1
}
 else{
	실행문장2
}

조건식이 true 인 경우에는 if문의 실행문장1을 수행하고 false 인 경우에는 else문의 실행문장2를 수행하게 된다

 

boolean coin = false;
if(coin) {
	System.out.println("버스를 타라");
}else {
	System.out.println("걸어가라");
}

boolean을 사용하면 false 값으로 정의 하였을때 coin이 true 인 경우에는 "버스를 타라" 가 출력되고 false 인경우에는 else문의 "걸어가라" 가 출력되게 된다

 

 


 

● if - else if 문

if(조건식) { 
	조건식1 참일 경우 수행 문장
}else if(조건식2) {
	조건식2 참일 경우 수행 문장
}else if(조건식3) {
	조건식3 참일 경우 수행문장
}else {
	위의 조건식이 모두 아닐 경우 실행 문장
}

여러개의 조건식 중에서  첫번째 조건식의 true에 해당하는 조건을 만나게 되면 해당 문장을 수행하고 if문을 벗어나고 그렇지 않으면 그 다음 두번째 조건식에서 해당 조건을 수행하게 되며 밑으로 내려온다

마지막 조건식인 else는 "위의 조건식을 모두 아닌경우  해당 문장을 실행 하라"  이며 else 에는 ( )를 사용하지 않고  바로  { }를 써서 실행 할 문장을 써줘야 한다

 

Scanner sc = new Scanner(System.in);
		int score = sc.nextInt();
		
		String result = null;
		
		if(score < 0 || score > 100) {
		System.out.println("점수는 0~100사이어야 합니다");
			result = "계산불가";
		}else if(score > 89) {
			System.out.println("90점대 입니다.");
			result = "A";
		}else if(score > 79) {
			System.out.println("80점대 입니다.");
			result = "B";
		}else if(score > 69) {
			System.out.println("70점대 입니다.");
			result = "C";
		}else if(score > 59) {
			System.out.println("60점대 입니다.");
			result = "D";
		}else  {
			System.out.println("1점 이상 입니다");
			result = "F";
		}
		System.out.println("결과 : " + result);
	}

score 값에 70을 입력하게 되면 true false로 해당 값의 참에 해당하는 조건식에 도달 하였을때 해당 문장을 실행하게 되고

결과값은 (70점입니다. 결과 : C )가 출력되게된다

 

 


 

● 중첩 if문

if (조건식1) {
		 
if (조건식2) {
        조건식1 2가 참일 때 수행될 문장
}else {
	조건식1이 참이고 조건식2가 거짓일 때 수행될 문장
}
}else {
	조건식 1이 거짓일 때 수행될 문장
}

if문 안에 if문이 들어가는 구조이며 횟수의 제한 없이 중첩이 가능하다

 

Scanner sc = new Scanner(System.in);
		
		System.out.print("num1 값 입력하세요 : " );
		int num1 = sc.nextInt();
		
		if(num1 >= 80) {
			if(num1 >= 90) {
				System.out.println("90점 이상입니다");
			}
			else {
				System.out.println("80점 이상입니다");
			}
		}
		else {
			System.out.println("80점 미만입니다");
		}
   // num1의 값을 입력받아 해당 조건에 맞는 값이 출력된다

 

 


 

● Switch문

	Scanner sc = new Scanner(System.in);
		int score = sc.nextInt();
		switch (score / 10) {
		case 10:
			System.out.println("만점입니다.");
			break;
		case 9:
			System.out.println("90점대 입니다.");
			break;
		case 8:
			System.out.println("80점대 입니다.");
			break;
		case 7:
			System.out.println("70점대 입니다.");
			break;
		case 6:
			System.out.println("60점대 입니다.");
			break;
		default :
			System.out.println("재시험 입니다");
		}

if문은 조건식이 true 일때 해당 실행문을 실행시키지만

switch문은 변수가 어떤 값을 갖는가에 따라 그에 따른 실행문이 실행된다

if문은 경우의 수가 많아지면 코드가 복잡해질 수 있지만 switch문은 if문에 비해 코드가 간결하여 가독성이 높다

break는 해당 조건에 해당하게 된다면 멈추고 빠져 나오게 되며 break가 없을 경우

조건문에서 빠져나오지않고 모두 실행되며 조건식의 결과와 일치하는 case가 없을 경우에 default의 실행문장이 실행된다

 

 

 

 


Today short review

 

 

 

틀린점이나 잘못 알고 있는 부분이 있다면 알려주세요

'JAVA' 카테고리의 다른 글

자바 (클래스/객체/메소드)  (0) 2023.09.18
자바 반복문 - for & while  (0) 2023.03.30
문자열 String StringBuilder  (0) 2023.03.23
연산자  (0) 2023.03.21
상수와 형변환  (0) 2023.03.17