Java言語の基礎 part2
型変換
次のような場合に発生する
- 数値を異なるデータ型の変数に代入する場合
- 変数や指揮の計算結果を、異なるデータ型の変数に代入する場合
- メソッド呼び出しの歳、呼び出す側のメソッドの引数(実引数)の方と呼び出されるメソッドの引数(仮引数)の型が異なる場合
- 異なるデータ型同士を算術演算する場合
byte
short
int
long
float
double↑方向:キャストが必要
↓方向:暗黙の型変換行わなかった場合は、コンパイルエラー!
ガーベッジコレクション
使用されていないメモリを回収する仕組み
どこからも参照されていないオブジェクトは、JVMによって自動的に破棄される。
System.gc();
Runtime.getRuntime().gc();
と記述すると、ガーペッジコレクションの実行を促すことはできる。
ただし、そのタイミングを調整することはできない!
インスタンス化後、破棄されるのは、メソッドが終了した箇所([}]の部分)
参照されている場合は、参照先で値が変更された?箇所(nullとか)
ただし、Stringオブジェクトの普遍性に関しては、別途考慮が必要
インクリメント(++)とデクリメント(--)
++x 前置き x+1を行った後に評価 x++ 後置き 評価した後にx+1 int i = 1; while(i++ < 3){ System.out.println(i); }これで出力される値は、2と3になる。
→ 1<3の比較後、{}内の処理を行ってから、iを1+1=2にする。
→ 2<3の比較後、{}内の処理を行ってから、iを2+1=3にする。
→ 3<3を比較し、falseであるが、iを3+1=4にしてから、処理を終了する。