자바 한 줄 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
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