AVA-3:演算子
3演算子
3.1算術演算子
3.2ビット演算子
3.3関係演算子
演算の結果booleanデータ型を返す
3.4論理演算子
3.5 instanceof
instsanceof演算子は、参照変数が参照するインスタンスのタイプを決定するために使用され、主に条件文に使用されます.シェイプ変換がtrueであればfalseを返します.객체 instanceof 클래스
3.6 assignment(=) operator
変数に値を割り当てるときに使用する演算子.
3.7矢印(->)演算子
デフォルトでは、矢印(->演算子はJava 8からram式を導入するために使用され、左側のパラメータの右側に実装情報が含まれます.メソッドを簡単に作成し、機能インタフェースを間接的に実装できます.(parameter) -> { statement; }
3.7.1ラムティー
関数式プログラミングをサポートするためにJava 8にラムダ式を導入した.ラムダの基礎は数学と基礎計算機科学の分野におけるラムダ代数をより簡単に表現するためである.また,プログラミング分野においてRamda関数とは,ネーミングを必要としない匿名関数(Anonymousfunctions)を指す.また、これらの匿名関数は、通常、First Class Citizen(First Class Citizen)の特徴を有する.また,Javaではラムダ式は匿名関数ではなく匿名オブジェクトである.
3.7.2関数式プログラミング
y=f(x)形式の関数構成のプログラミングテクニック.
객체 instanceof 클래스
(parameter) -> { statement; }
3.7.3第一類公民
レベル1オブジェクトとは、次の3つの条件を満たすレベル1オブジェクトです.
Javaのオブジェクトとは異なり、関数自体は1レベルのオブジェクトとして使用できません.しかし,ラムダ式を用いると,匿名関数は1級オブジェクトの特徴を持つことができる.
3.7.4ランダ食品の長所と短所
長所
コードの簡潔性
短所
3.7.5ラムダ式の例
JAvaはramda式を関数型インタフェースの匿名実装オブジェクトと見なします.このとき,関数インタフェースとは,抽象的なメソッドが1つしか宣言されていないインタフェースである.
ランダ文法
// 기존 문법
new Thread(new Runnable() {
@Override
public void run() {
System.out.println("Welcome");
}
}).start();
// 람다 활용
new Thead( () -> {
System.out.println("Welcome");
}).start();
Runnableはメソッドが1つしかない関数インタフェースであるため,Ramda式で表すことができる.このとき()はrunの()を表す.すなわち,関数型インタフェースタイプの参照変数としてram多項式を参照できる.3.8 3項演算子
3つの演算子の基本形式は次のとおりです.
int a = (5 < 4 ) ? 10 : 20;
上の演算子を基準として、次の形式があります.조건문 ? 참인 경우 : 거짓인 경우;
すなわち,aに対して条件文は偽であるため,20に初期化する.これら3つの演算子は、単純な条件文の効率的な作成に使用されます.3.9演算子優先度
基本的にカッコの優先順位が最も高く、単項>二項>三項と算術>比較>論理>代入の順序が優先されます.
3.10 Java 13スイッチ演算子
ここでいうswitch演算子は、既存のswitch文の変更ではなく、switch演算子が追加されています.
3.10.1スイッチ文(文)
多くの場合、breakは存在し、戻り値は存在しません.また、breakがなければ、次の四半期に入ります.
3.10.2スイッチ演算子
breakを使用する必要のない式に変更されたため、結果値を返すフォーマットも使用できます.戻り値のタイプをObjectに設定すると、式ごとに異なるタイプを返すことができます.また、caseでは->演算子も使用できます.
[スイッチ式]
public void printDay(Day today) {
switch (today) {
case MON, TUE, WED, THUR, FRI -> System.out.println(today.name() + " is Weekday");
case SAT, SUN -> System.out.println(today.name() + " is Weekend");
}
}
[戻り値を取得]public String printDay(Day today) {
String result = switch (today) {
case MON, TUE, WED, THUR, FRI -> today.name() + " is Weekday";
case SAT, SUN -> today.name() + " is Weekend";
};
return result;
}
[戻り値とブロック構文]public String printDay(Day today) {
String result = switch (today) {
case MON, TUE, WED, THUR, FRI -> today.name() + " is Weekday";
case SAT, SUN -> {
System.out.print("Holiday! ");
yield today.name() + " is Weekend";
}
};
return result;
}
Java 13からは、yieldキーワードで返すことができます.returnキーワードを使用するとコンパイルエラーが発生することに注意してください.Reference
この問題について(AVA-3:演算子), 我々は、より多くの情報をここで見つけました https://velog.io/@shlee7131/JAVA-3-연산자テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol