본문 바로가기
프로그래밍/Java-문법정리

【Java문법】조건문

by 코이킹 2022. 1. 9.
반응형

안녕하세요 코이킹입니다. 

 

이번 포스트에서는 조건문에 대해서 설명해 보겠습니다. 


1. 조건문이란?

 조건문은 조건식을 통해 코드를 실행할지를 제어해주는 구문으로, 조건식의 결과가 참이라면 조건문 내부의 코드가 실행되는 방식으로 코드 실행을 제어합니다. 

Java에서 조건문은 if문 , switch문, 삼항 연산자가 있습니다. 

 

2. if문 

 if문은 조건식의 결과가 참이라면 if문안의 코드가 실행되어 프로그램의 흐름을 제어하는 구문입니다. 

else, else-if 키워드를 사용하거나 생략하는 것으로 다양하게 코드실행을 제어할 수 있습니다. 

 

1) if문 단일 사용 

※ 조건의 결과가 참일 경우 if문 안의 코드가 실행됩니다. 

int a = 10;
int b = 20;
int c = 10;

if (a < b) {
	System.out.println(a +" 보다 "+ b +"이 크다");
}

 

※ 조건의 결과가 거짓일 경우 if문 안의 코드는 실행되지 않습니다. 

if (a < c) {
    System.out.println(a +" 보다 "+ c +"이 크다");
}

 

※ AND・OR연산자를 사용하여 복수의 조건 비교가 가능

if (a < b && a == c) {
    System.out.println(a +" 보다 "+ c +"이 크고, " + a +"과 "+ c +"은 같다");
}

 

2) if - else

if문의 조건식의 결과가 참일 경우 if문 내부의 코드가 실행 되며, 조건식의 결과가 거짓이라면 else문 안의 코드가 실행됩니다. 

if (a < c) {
    System.out.println(a +" 보다 "+ c +"이 크다");
			
} else {
    System.out.println("조건 불일치!!");
			
}

3) if - else if

if문의 조건식의 결과가 참일경우 if문 내부의 코드가 실행되며, if문의 조건식의 결과가 거짓이라면

else if문의 조건식을 확인합니다. 

else if문의 조건식의 결과가 참일경우 else if문 내부의 코드가 실행되며, else if문의 조건식의 결과가 거짓이라면 

if-else if 절의 코드는 아무것도 실행되지 않습니다. 

※ else if의 개수는 제한이 없습니다!

if (a < c) {
    System.out.println(a +" 보다 "+ c +"이 크다");
		
		// else-if의 갯수 제한은 없음!!
} else if (a < b && a == c) { 
    System.out.println(a +" 보다 "+ c +"이 크고, " + a +"과 "+ c +"은 같다");
			
} else if (a < b) {
    System.out.println(a +" 보다 "+ b +"이 크다");

}

4) if - else if - else

if문의 조건식의 결과가 참일 경우 if문 내부의 코드가 실행되며, if문의 조건식의 결과가 거짓이라면

else if문의 조건식을 확인합니다. 

else if문의 조건식의 결과가 참일경우 else if문 내부의 코드가 실행되며, else if문의 조건식의 결과가 거짓이라면 

else 문의 코드가 실행됩니다. 

if (a < c) {
    System.out.println(a +" 보다 "+ c +"이 크다");
		
		// else-if의 갯수 제한은 없음!!
} else if (a < b && a == c) { 
    System.out.println(a +" 보다 "+ c +"이 크고, " + a +"과 "+ c +"은 같다");
			
} else if (a < b) {
    System.out.println(a +" 보다 "+ b +"이 크다");
			
} else {
    System.out.println("조건 불일치!!");
			
}

 

3. switch문 

switch문은 key 값과 일치하는 case문의 코드를 실행하는 방식으로 프로그램의 흐름을 제어하는 구문입니다. 

복수의 분기를 해야하는 경우에 사용하면 if문보다 코드의 가독성이 좋습니다. 

int key = 2;

switch (key) {
case 1 :
    System.out.println("Key는 1 입니다.");
    break;
case 2 :
    System.out.println("Key는 2 입니다.");
    break;
case 3 :
    System.out.println("Key는 3 입니다.");
    break;
default:
    System.out.println("조건 불일치!!");
    break;
}

// 실행 결과 
// Key는 2 입니다.

 

※ break문을 안쓰면 조건이 일치한 case부터 break를 만날 때까지 계속 실행됨.

switch (key) {
case 1 :
    System.out.println("Key는 1 입니다.");
case 2 :
    System.out.println("Key는 2 입니다.");
case 3 :
    System.out.println("Key는 3 입니다.");
    break;
default:
    System.out.println("조건 불일치!!");
}

// 실행결과
// Key는 2 입니다.
// Key는 3 입니다.

 

4. 삼항 연산자 

삼항연산자는 if문을 단일로 사용하는 경우에 대신 사용하게 되면, 코드를 간결하게 작성할 수 있는 장점이 있는 조건 분기입니다. 

 

※ 기본적인 사용법 

int su1 = 100;
int su2 = 200;
		
// [데이터 타입] [결과 값을 넣을 변수명] = (조건식) ? [조건식이 참일경우의 값] : [조건식이 거짓일 경우의 값];  
int resultInt = su1 < su2 ? su1 : su2 ;
System.out.println(resultInt);  // 100

 

※ 괄호로 조건식을 감쌀수 있음, 리턴할 데이터 타입은 상관없음

String resultStr = (su1 < su2) ? su2+"이 더 크다" : su1+"이 더 크다" ;
System.out.println(resultStr);  // 200이 더 크다

※ 값으로 리턴값이 있는 메서드를 설정할 수 있음.

int resultInt2 = (su1 < su2) ? beTwice(su2) : beTwice(su1);
System.out.println(resultInt2);

public static int beTwice(int su) {
    return su * 2;
}

 

※ 예제코드

https://github.com/leeyoungseung/algorithmBasic/blob/master/algorithm/src/basic/B_05_Conditions.java

 

※ qiita에 투고한 URL

https://qiita.com/Koiking-L/items/db780b4283c83a4553ba

반응형

'프로그래밍 > Java-문법정리' 카테고리의 다른 글

【Java문법】배열  (0) 2022.01.09
【Java문법】반복문  (0) 2022.01.09
【Java문법】연산자  (0) 2022.01.09
【Java문법】데이터 타입  (0) 2022.01.09
【Java문법】변수  (0) 2022.01.09

댓글