CrisのScalaノート(四):演算子
12561 ワード
文書ディレクトリ 4. 演算子 44.1演算子の種類 4.2演算子 4.3関係演算子 4.4論理演算子 4.5割付演算子 4.6ビット演算子 4.7演算子優先度 4.8キーボード入力 4.演算子
4.1演算子の種類算術演算子 賦値演算子 比較演算子(関係演算子) 論理演算子 ビット演算子 4.2演算子
詳細:
除算記号「/」の場合、整数除算と小数除算には違いがあります.整数間の除算では、整数部分のみを保持し、小数部分を捨てます.例:var x:Int=10/3、結果は3
1つの数に対して型を取ると、a%b=a-a/b*bを等価にすることができ、これにより、型を取る本質的な演算(javaの型取り規則と同じ)を見ることができる.
注意:Scalaには+、–オペレータはありません.+=、-=で同じ効果を実現する必要があります.
小さな練習
4.3関係演算子
関係演算子一覧
細部
詳細な説明関係演算子の結果は、Boolean型、すなわちtrue、falseである. 関係演算子からなる式を関係式と呼びます. 比較演算子"="は"=" と誤記することはできません.トラップを使用:2つの浮動小数点数を比較する場合、データ型が一致することを保証しなければならない 4.4論理演算子
一覧図
Scalaの論理演算子の使用はJavaと一致する
4.5割付演算子
一覧図
ビット単位と&:2つの数のバイナリビットが同じ1であれば、1である.それ以外の場合は0
ビット単位または|:2つの数のバイナリビットが1である場合、1である.それ以外の場合は0
ビット別異和^:2つの数のバイナリビットが異なる場合は1;同じ0
4.6ビット演算子
小さい練習:2つの数の値をすばやく交換
またはビット別または
注意:Scalaは三元演算子ではなくif elseで置き換えられます.
4.7演算子優先度
4.8キーボード入力
まずJavaがキーボード入力をどのように処理するかを見てみましょう.
スカラがどうやって処理したか見てみましょう
4.1演算子の種類
var cal = 10 / 3
println(cal) // 3
var cal2: Double = 10 / 3
println(cal2) // 3.0
var cal3 = 10.0 / 3
println(cal3) // 3.3333333333333335
println(cal3.formatted("%.2f")) // 3.33 ,
var cal4 = 10 % 3
println(cal4) // 1
詳細:
除算記号「/」の場合、整数除算と小数除算には違いがあります.整数間の除算では、整数部分のみを保持し、小数部分を捨てます.例:var x:Int=10/3、結果は3
1つの数に対して型を取ると、a%b=a-a/b*bを等価にすることができ、これにより、型を取る本質的な演算(javaの型取り規則と同じ)を見ることができる.
println(-10 % 3) // -1
println(10 % (-3)) // 1
println(-10 % (-3)) // -1
注意:Scalaには+、–オペレータはありません.+=、-=で同じ効果を実現する必要があります.
小さな練習
/* */
var days = 96
var weeks = days / 7
var day = days % 7
println(s" ${weeks} $day ") // 13 5
/* */
var huashi = 32.4
var sheshi = 5.0 / 9 * (huashi - 100)
println(sheshi.formatted("%.2f")) // -37.56
4.3関係演算子
関係演算子一覧
細部
var a = 1.3
var b = 1.3
println(a == b) //true
a = 1.2
b = 1.2f
println(a == b) //false
a = 1
b = 1.0
println(a == b) //true
詳細な説明
一覧図
Scalaの論理演算子の使用はJavaと一致する
4.5割付演算子
一覧図
ビット単位と&:2つの数のバイナリビットが同じ1であれば、1である.それ以外の場合は0
ビット単位または|:2つの数のバイナリビットが1である場合、1である.それ以外の場合は0
ビット別異和^:2つの数のバイナリビットが異なる場合は1;同じ0
4.6ビット演算子
小さい練習:2つの数の値をすばやく交換
var d = 2
var e = 1
d = d + e
e = d - e
d = d - e
またはビット別または
var d = 2
var e = 1
d = d ^ e
e = d ^ e
d = d ^ e
注意:Scalaは三元演算子ではなくif elseで置き換えられます.
//
val a = 10
val b = 20
val max = if (a > b) {
a
} else {
b
}
println(max)
4.7演算子優先度
4.8キーボード入力
まずJavaがキーボード入力をどのように処理するかを見てみましょう.
public class Demo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println(" ");
String name = scanner.next();
System.out.println(" ");
int age = scanner.nextInt();
System.out.println(String.format(" :%s, :%s", name, age));
}
}
スカラがどうやって処理したか見てみましょう
def main(args: Array[String]): Unit = {
println(" :")
val name = StdIn.readLine()
println(" :")
val age = StdIn.readShort()
println(s" :${name}, :${age}")
}