oracleJavaSilverの勉強日記(データ型の操作)
Silverを受けるにあたって勉強した内容を書いていく。
プリミティブ型(基本データ型)
整数や浮動小数点といった数値、真偽値、文字を扱う。
データ型 | 値 |
boolean | true、false |
char | 16ビットUnicode文字\u0000~\uFFFF |
byte | 8ビット整数-128~127 |
short | 16ビット整数-32768~32767 |
int | 32ビット整数-2147483648~2147483647 |
long | 64ビット整数-9223372036854775808~9223372036854775807 |
float | 32ビット浮動小数点数 |
double | 64ビット浮動小数点数 |
参照型
インスタンスへの参照(リンク)を扱う。
参照型には、オブジェクト型、列挙型、配列型がある。
(String,Date,Integer,ArrayListなど)
リテラル
ソースコード中に記述する値のこと。整数、浮動小数点数、真偽、文字の4つのリテラルがある。
整数値のデフォルトはint型。
浮動小数値のデフォルトはdouble型。
リテラルをほかのデータ型であることを明示的にしたい場合は接尾辞を値の後ろに付ける。long型であれば「L」や「l」、float型であれば「F」や「f」など。
整数リテラル
整数リテラルの記述は、10進数のほかに8進数や16進数で記述できる。
進数 | 接頭辞 |
8進数 | 0 |
16進数 | 0x |
2進数 | 0b |
アンダースコア「_」を使った表記
リテラルの先頭と末尾に記述できない。
記号の前後に記述できない。(「.」や「0b」、「L」など)
char型
文字を表すデータ型。文字列を入れることはできない。
文字リテラルを表すのは「'a'」のようなシングルクォーテーション「'」。
文字列リテラルを表すのは「"abc"」のようなダブルクォーテーション「"」。
char型の変数に代入できるのは、下の3種類。
・シングルクォーテーション「'」で括った文字
・シングルクォーテーション「'」で括った「¥u」から始まるUnicode番号
・0~65535までの数値
※ダブルクォーテーション「"」で括った文字列リテラルは代入できない。
識別子
変数やメソッド、クラスなどの名前のことを識別子と呼ぶ。
識別子を決める時の規則
・予約語は使えない(intやdouble,for,ifなど)
・使える記号は、アンダースコア「_」と通貨記号のみ
・数字から始めてはいけない(2文字目からは大丈夫)
null
nullは参照を保持していないことを表現するためのリテラル。
※nullをNULLと表示することはできない。
クラスとインスタンス
クラスとインスタンスの関係は、クラスがコピー元、インスタンスがコピーの関係。
複数のインスタンスを作れば、複数のコピーを作ることができ、異なる値を持つことができる。
メソッドの呼び出しの書式
同じインスタンスに定義されているメソッドの場合は、メソッド名(引数)
インスタンスに定義されているメソッドの場合は、変数.メソッド名(引数)
staticなメソッドの場合は、クラス名.メソッド名(引数)
シグニチャ
シグニチャは、メソッド名と引数のリストのセットの事。
Javaにはオーバーロードという仕組みがあるため、メソッドを見分けるために必要。
ガレージコレクション
ガレージコレクションは、メモリ上で使われなくなったインスタンスがないかを探して、あった場合は破棄してメモリを解放すること。
ガレージコレクションのタイミングは、プログラマーが制御することはできず、JVMが決める。
ガレージコレクションの対象は、どこからも参照されなくなったインスタンスで、代表的なのはnullを代入した時。