삼항 연산자를 사용하여 Java 코드 효율성 향상

이 기사에서는 삼항 연산자를 사용하여 조건문 코드를 개선하는 방법에 대해 설명합니다. 조건문은 보통 어떻게 코딩합니까? 아래 코드와 같나요?

소스 코드 1:

public boolean isEvenNumber(int number) {
    if(number % 2 == 0) {
        return true;
    }
    else {
        return false;
    }
}


그렇다면 아래 소스 코드 2와 같이 삼항 연산자를 사용하여 더 좋게 만들 수 있습니다.

소스 코드 2:

public boolean isEvenNumber(int number) {
    return number % 2 == 0 ? true : false;
}


소스 코드 1과 소스 코드 2에서 생성된 출력 결과는 완전히 동일합니다. Ternary Operator를 사용하면 동일한 결과로 코드를 작성할 수 있지만 코드 라인 수가 훨씬 더 효율적입니다. 어떻게 이런일이 일어 났습니까?


소스 코드 1과 소스 코드 2를 주의 깊게 살펴보면 두 소스 코드를 연결하는 패턴을 볼 수 있습니다. 본문 소스 코드 2 메서드를 분석하여 패턴을 살펴보겠습니다.
return number % 2 == 0 ? true : false;
위의 코드 조각에서 삼항 연산자를 구성하는 3가지 주요 구성 요소를 볼 수 있습니다.
  • number % 2 == 0가 조건입니다.
  • ? true는 이전 조건이 충족되면 나타나는 값입니다.
  • : false는 이전 조건이 충족되지 않으면 나타나는 값입니다.
  • return는 어떻습니까? return는 삼항 연산의 결과에 해당하는 값을 반환합니다. 어떤 값도 반환하지 않는 삼항 연산도 있기 때문에 여기서 return는 실제로 선택 사항입니다. 다음 섹션에서 다른 삼항 연산의 예를 볼 것입니다.

    보시다시피 삼항 연산자의 패턴은 if 조건문과 매우 유사하지만 삼항 연산이 훨씬 더 짧습니다. 내 개인적인 의견은 삼항 연산자가 var = var + 1var++ 로 단축할 수 있다는 점에서 값 증가 개념과 매우 유사하다는 것입니다. 따라서 값 증가의 개념을 사용하여 값 증가 연산을 단축할 수 있다면 삼항 연산자를 사용하여 조건문의 코딩을 단축할 수 있습니다.


    삼항 연산자를 더 잘 이해하기 위해 코딩에서 어떻게 구현되는지에 대한 몇 가지 예를 살펴보겠습니다.

    예 1



    입력한 숫자가 홀수인지 여부를 판별하는 메소드를 작성한다고 가정하십시오. 정상적인 조건문을 사용한 구현은 소스 코드 3에서 볼 수 있으며 삼항 연산자의 구현은 소스 코드 4에서 볼 수 있습니다.

    소스 코드 3:

    public boolean isOddNumber(int number) {
        if(number % 2 != 0) {
            return true;
        }
        else {
            return false;
        }
    }
    


    소스 코드 4:

    public boolean isOddNumber(int number) {
        return number % 2 != 0 ? true : false;
    }
    


    예 2:



    예를 들어 입력 이름이 null 인 경우 입력 이름을 정규화하는 메서드를 생성한다고 가정하면 "Stranger"값을 반환합니다. 정상적인 조건문을 사용한 구현은 소스 코드 5에서 볼 수 있으며 삼항 연산자의 구현은 소스 코드 6에서 볼 수 있습니다.

    소스 코드 5:

    public String normalizeName(String name) {
        if(name == null) {
            return "Stranger";  
        }
        else {
            return name;
        }
    }
    


    소스 코드 6:

    public String normalizeName(String name) {
        return name == null ? "Stranger" : name;
    }
    


    예 3:



    입력한 숫자를 표시하는 메서드를 생성하지만 입력한 숫자가 null 인 경우 "Number input is null!"이라는 텍스트를 표시한다고 가정합니다. 정상적인 조건문을 사용한 구현은 소스 코드 7에서 볼 수 있으며 삼항 연산자의 구현은 소스 코드 8에서 볼 수 있습니다.

    소스 코드 7:

    public void displayNumber(Integer number) {
        if(number == null) {
            System.out.println("Number input is null!");
        }
        else {
            System.out.println("Your number is " + number);
        }
    }
    


    소스 코드 8:

    public void displayNumber(Integer number) {
        System.out.println(number == null ? "Number input is null!" : "Your number is " + number);
    }
    



    이것이 삼항 연산자를 사용하여 코드를 보다 효과적으로 만드는 방법입니다. 물론 삼항 연산자로 변경하는 조건문이 ifelse 로만 구성되어 있기 때문에 이 기사에서 다루는 자료는 아직 불완전합니다. else if 가 있으면 어떻게 됩니까? else if가 있는 삼항 연산자는 일반적으로 "연결된 삼항 연산자"또는 "다중 조건 삼항 연산자"라고 하며 다음 문서에서 설명합니다.


    표지 이미지: https://i.picsum.photos/id/882/1920/720.jpg?hmac=-m4frcxPW1QpFYu5cokcHkKkLgJMbq1kHk10I2dghcA

    좋은 웹페이지 즐겨찾기