Java Silver SE8 勉強メモ①

基本は、黒本を読んでポイントをメモっているだけ。

1.Javaの基本
 ・クラス宣言
  class hoge { ~ }のこと
  フィールドとメソッドで構成。
  インポート宣言やパッケージ宣言は含まれない。

 ・パッケージ
  名前空間を提供し、名前の衝突を避ける
  アクセス修飾子と組み合わせ、アクセス制御機能を提供する
  クラスの分類を可能にする

  ドメイン名を逆にしたものが「よく使用される」
  デフォルトで「無名パッケージ」に属する

  ソースの1行目にしか、記述できない

  java.langパッケージは、よく使うので勝手にインポートされる
  同じパッケージに属するクラスも、勝手にインポートされる
  →サブパッケージのクラスは、勝手にインポートされない

  違うパッケージに属するクラスにアクセスできない

  staticインポート
   宣言時は「import static」、言葉と逆
   メソッド名だけを記述する、()や引数は書かない
   インポート元クラスに、インポート先クラスと同名のメソッドやフィールドがあった場合、インポートは無視される
   →インポート元が複数あって、同名のメソッドやフィールドがあった場合、コンパイルエラー

 ・mainメソッド(エントリーポイント)
   publicであること
   staticであること(インスタンス化しなくても実行可能)
   voidであること
   メソッド名は「main」であること
   引数は「String配列型」が一つ

 ・javaコマンド
   java 完全修飾クラス名 [引数 引数 …]
   >java Main java one two
    →mainメソッドの引数に「java one two」が渡される

2.Javaのデータ型の操作
 ・プリミティブ型
   boolean,char,byte,short,int,long,float,double
   →値そのものを扱う

 ・参照型
   オブジェクト型、列挙型、配列型
   →インスタンスへの参照を扱う

 ・整数リテラル
   10進数・・・接頭辞無し「123」
   8進数 ・・・「0」をつけて、0~7で表現「067」
   16進数・・・「0x」をつけて、0~Fで表現「0x3F」
   2進数 ・・・「0b」をつけて、0~1で表現「0b0111」

 ・アンダースコアを使った数値表記
   桁数が多いときに見やすくする目的、らしい(現場では使わん)
   int i = 123_456_789;とか

   ルール
   ・リテラルの先頭と末尾には記述できない
    →int b = _123;はNG

   ・記号の前後(ドット「.」、longやfloatの「L」「F」、2進数を表す「0b」など)には記述できない
    →long l = 999_L;はNG

 ・char型(文字リテラル)
   シングルクォーテーションで囲ったひと文字
   シングルクォーテーションで囲った\uで始まるUnicode番号
   0~65535までの数値

 ・識別子の命名規則
   予約語は使えない
   記号は、アンダースコアと通貨記号(¥、$、€、£とか)のみ
   先頭数字はNG

 ・nullは「NULL」って書いたらNG

 ・メソッドの呼び出し
   同じクラスに定義されてるなら「メソッド名(引数)」
   インスタンスに定義されてるなら「変数.メソッド名(引数)」
   staticメソッドなら「クラス名.メソッド名(引数)」

 ・ガーベッジコレクション
   明示的にガーベッジコレクションは実行できない
   gcメソッドでも、ガーベッジコレクションを促すだけ

   ガーベッジコレクションの主な対象は、参照されなくなったインスタンス
   (nullを代入)

コメント

タイトルとURLをコピーしました