四つ葉のクローバーを探そう@fourleaved’s blog

四つ葉のクローバーGO(スマホアプリ)とエリアノートGO(WEBアプリ)を運営中♪

演算子と判定構造の使用@ノートに書くのが〜

・int a=3; int b=a+=5; (a=8,b=8)

・「-」は2項と単項がある。単項は正負反転(-と変数の間に空白があってもOK)

浮動小数点数はdoubleがデフォルト

Javaではbyte型とboolean型の互換性はない

・a-- + ++a - a++  のような計算は一時変数を使う

・関係演算子:a instanceof b :aがbと同じクラスかbのサブクラスのインスタンスであればtrue

・>, >=, <, <= は数値でしか使えない

・&&と||はショートサーキット演算子、条件式をすべて評価したいなら&と|を使う。(インクリメント使用時に以後の値が変わってくる)

・同じインスタンスは同一性(==演算子で判定)、同じ値は同値性(equalsメソッドで判定)

・equalsメソッドはオーバーライド前提

・Object型のequalsメソッドをオーバーライドする場合、メソッドのシグニチャを変更してはいけない。変更した場合はオーバーロードであり、最初から定義されているequalsメソッドが実行される(同一性判定)

・equalsメソッドをオーバーライドして使う時、5条件あるが大切なのは「null以外の参照値xについて、 x.equals(null)はfalseを返す」

・文字リテラルは同じStringインスタンスへの参照が使いまわされる(コンスタントプール)ので、==演算子での同一性判定はture

・コンスタントプールは文字列リテラルを使った時にだけ有効。new演算子をつかった場合はその都度、インスタンスが作られる。

・else if文は「else」と「if」の間で改行できない

・switchで条件式が戻せる値の型には制限がある。①int型以下の整数型とそのラッパークラス②文字と文字列③列挙型 「char byte short int Character Byte Short Integer String enum

・Switchのcase値の条件は①条件式が戻す値と同じ型か互換性があること②定数かコンパイル時に値がきまっていること③nullでないこと