HOWTO · Java
자바 한 줄 if 문
이 기사에서는 Java 한 줄 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이 실행됩니다. 그리고condition이false로 평가되면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>70은if조건입니다. ? 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