코딩/JAVA

Java 문법 조건문 if, else if, else문, switch문, 삼항연산자

LoGinShin 2023. 7. 12. 11:54
반응형

 

프로그래밍 언어를 공부하면 기본적으로 사용하는 조건문에 대해 다뤄보겠습니다.

 

자바에서 조건문은 프로그램의 흐름을 제어하고, 특정 조건을 만족하면 원하는 행동을 수행할 수 있도록 해줍니다.

여러 가지 조건문, if, else if, else, switch문, 삼항연산자를 사용해 보겠습니다.

 

 

"만약에"

if문


if문은 어떤 조건을 검사하여 그 조건이 참일 경우에만 코드 블록을 실행합니다. 자바에서 조건식은 boolean데이터 타입으로 평가되며, 조건식은 참 (true) 또는 거짓 (false) 값을 반환합니다.

int x = 10;

if (x > 0) {
    System.out.println("x is positive");
} // 출력: x is positive

 

 

 

"if, else if문이 false라면"

else if문


주어진 조건이 참일 경우 첫 번째 코드 블록을 실행하며, 그렇지 않을 경우 두 번째 코드 블록을 실행합니다. 이를 통해 참과 거짓인 경우에 대한 서로 다른 결과를 출력하거나 처리할 수 있습니다.

int x = -5;

if (x > 0) {
    System.out.println("x is positive");
} else if{
    System.out.println("x is negative");
} // 출력: x is negative

 

 

 

 

"if, else if문 모두 false라면"

else문


else if, else문은 여러 조건을 검사하여 조건문의 복잡도를 향상합니다.

여러 조건 중 하나가 참인 경우 해당 조건의 코드 블록이 실행되며,

아무 조건도 참이 아닌 경우 마지막 else 블록이 실행됩니다.

int x = 0;

if (x > 0) {
    System.out.println("x is positive");
} else if (x < 0) {
    System.out.println("x is negative");
} else {
    System.out.println("x is zero");
} // 출력: x is zero

 

 

 

"상황에 따라 가독성이 좋아"

switch문


switch문은 여러 개의 경우(case)중 일치하는 경우 해당 코드 블록이 실행됩니다.

각각의 case는 정수, 문자 또는 열거형 상수를 사용하여 표현할 수 있습니다. Java 12부터는 문자열도 사용할 수 있습니다. switch문은 추가적으로 default 블록을 가지고 있어, 어떤 경우에도 일치하는 항목이 없으면 default 블록이 실행됩니다.

switch문을 사용할 때 break;로 case별로 끊어주지 않으면 조건이 성립되지 않아도 다음 함수를 실행합니다. 이런 것도 잘 이용한다면 특이한 코드 퍼포먼스도 보여줄 수 있겠죠.

int dayOfWeek = 4;
String day;

switch (dayOfWeek) {
    case 1:
        day = "Sunday";
        break;
    case 2:
        day = "Monday";
        break;
    case 3:
        day = "Tuesday;
         break;
    case 4:
        day = "Wednesday";
        break;
    case 5:
        day = "Thursday";
        break;
    case 6:
        day = "Friday";
        break;
    case 7:
        day = "Saturday";
        break;
    default:
        day = "Invalid day";
        break;
} System.out.println(day);
// 출력: Wednesday

 

 

 

"상황에 따라 간편하게"

삼항 연산자


삼항 연산자(ternary operator)는 자바에서 사용할 수 있는 단항 조건 연산자로, 간단한 if-else 구문을 축약하여 간결한 조건식을 생성할 수 있습니다. 삼항 연산자는 다음과 같은 구조로 이루어져 있습니다.

조건식 ? 값1 : 값2

이 구조에서 '조건식'은 boolean 데이터 타입으로 평가되며, 조건식이 참일 때는 값 1이, 거짓 일 때는 값 2가 반환됩니다. 이렇게 간단하게 조건문을 구현할 수 있어 코드의 가독성을 높일 수 있습니다. 그러나 복잡한 조건식에서 삼항 연산자의 사용은 코드를 어렵게 만들 수 있으므로 적적한 사용이 중요합니다. 예시: 두 변수 중 큰 값을 찾는 코드를 삼항 연산자를 사용하여 작성합니다.

int a = 10;
int b = 20;
int maxValue = (a > b) ? a : b;
System.out.println("Max value: " + maxValue); // 출력: Max value: 20

 

 

 

추가설명


if문 사용 시 안 좋은 예시

if(){}
if(){}
if(){}

if문 사용 시 좋은 예시

if(){
} else if(){
} else if(){
} else

if가 연속되면 모든 if문을 읽지만 if대신 else if를 사용하면, 연관돼 있는 if, else if, else에서 탈출할 수 있습니다.

훨씬 빨라지고 내가 읽기도 편합니다. 물론 상황에  따라 다르겠지만요.

이렇게 다양한 조건문과 연산자를 적절하게 사용함으로써 코드의 가독성과 유지보수성을 향상할 수 있습니다.

728x90
반응형