자바 한 줄 if 문

Rashmi Patidar 2023년10월12일
  1. Java의 삼항 연산자
  2. Java 8에서filter를 사용하는 한 줄if-else
자바 한 줄 if 문

Java 언어에는 52 개의 키워드 또는 사전 정의 된 단어가 있습니다. 우리는 이러한 단어가 언어에서 특정 사전 정의 된 의미를 가지고 있으므로 예약어라고 부릅니다.

이 예약어 풀에서if-else가 그중 하나입니다. 이 키워드를 사용하여 조건을 지정합니다. if-else블록의 구조는 다음과 같습니다.

if (condition == true) {
  doThis;
} else {
  doSomethingElse;
}

괄호()안에있는condition의 모든 표현식을 제공 할 수 있습니다.

if블록의 표현식 결과가 참이면doThis문이 실행됩니다. 표현식이 거짓으로 평가되면doSomethingElse가 실행되어야합니다.

보시다시피 간단한if-else유형의 작업을 수행하기 위해 5 줄을 사용합니다. 이러한 종류의 평가에 대한 대안은 삼항 연산자를 사용하는 것입니다.

Java의 삼항 연산자

삼항 연산자는 Java if-else문의 축약 형입니다. 이 연산자의 구문은 다음과 같이 정의됩니다.

condition ? expression1 : expression2;

위의 설명에서condition이 먼저 평가됩니다. condition이 참으로 평가되면expression1이 실행됩니다. 그리고conditionfalse로 평가되면expression2가 실행됩니다.

위의 연산자는 세 개의피연산자조건과 두 개의 표현식을 사용하므로 삼항 연산자라고합니다.

아래는 동일한 것을 보여주는 샘플 프로그램입니다.

package ternaryOperator;

public class TernaryOperator {
  public static void main(String[] args) {
    int marks = 67;
    String distinction = marks > 70 ? "Yes" : "No";
    System.out.println("Has made a distinction : " + distinction);
  }
}

위 프로그램에서marks>70if조건입니다. ? then절이고:else부분입니다.

프로그램은 마크가 미리 정의 된 숫자보다 많은지 여부를 평가해야합니다. marks > 70조건이 거짓으로 평가되면아니오가 콘솔 출력에 인쇄됩니다.

위 프로그램의 출력은 다음과 같습니다.

Has made a distinction: No

Java 8에서filter를 사용하는 한 줄if-else

Java 8 이상 버전에는 스트림 유틸리티가 있습니다. 스트림filter메소드는Predicate를 취하며 Java 언어에서if-else처럼 작동합니다.

package streams;

import java.util.Arrays;
import java.util.List;

public class Java
8Streams {
  public static void main(String[] args) {
    List<String> stringList = Arrays.asList("1", "2");
    stringList.stream().filter(string -> string.equals("1")).forEach(System.out::println);
  }
}

위의 프로그램은Arrays.asList()메소드를 사용하여 목록을 인스턴스화합니다. 여기에서는 문자열 값으로 1과 2를 지정했습니다. 이제stream함수를 사용하여이 목록의 스트림을 만들었습니다. 스트림을 생성하면filter기능이 적용됩니다. 이 함수는 정의 된 조건에 따라 데이터를 필터링합니다. ->연산자를lambda연산자라고합니다. filter함수에서 스트림의 각 값을 반복합니다. 조건이 충족되면 값이forEach()메소드로 이동하여 최종 작업을 수행합니다.

else 조건을 처리하기 위해 정의 된 케이스가 없기 때문에 값은 단순히 우회되고 드롭됩니다.

위 프로그램의 출력은 다음과 같습니다.

1
Rashmi Patidar avatar Rashmi Patidar avatar

Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.

LinkedIn

관련 문장 - Java Statement