NORA

雑食気味なひよっこプログラミング記録

3日目

Java学習3日目でござい。LLと違って型を強制されることで注意すべきことが色々と出てきました。今日はそこの所に注目して学習記録を取る形になったのかな。本日は次の4項目について学びました。

そしてメモった内容は次の通り。

  • 既存のStringクラスの文字列に対して、新しい文字列を代入すると、新しくメモリが確保されて参照だけ入れ替わる。

  • 参照型のオブジェクトを比較する場合、==演算子は実体を比較しないので注意。String型ならequals()を使う。

  • array.length, String.length()と、それぞれ扱いが異なるのでちょい注意。

  • クラスメソッド引数において、配列、Stringと共に参照渡しだが、Stringは1番目の特徴が引数に値を渡した時に起きるので、クラスメソッド内での変更は元の変数に影響しない。

  • メソッドのオーバーロード。

  • byte 8 -> short, char 16 -> int 32 -> long 64 -> float 32 -> double 64

  • キャスト演算子は優先順位が高いこと。

  • char型は正の値しか扱わないため、型変換で注意が必要であること。

  • 演算時の型変換にはdouble > float > long > int の優先順位があり、注意すべきはbyte, short, charの演算時に自動的にintに変換されるということ。
    そのため、short同士で加減演算をして、結果をshort型に代入しようとしても計算途中でint型に変換されているのでキャスト演算子が必須になる。これはエラー時においても気づかないミスとしてよくあるそうで。注意。