【読書】独習Java メモっぽいレポート 一枚目


今日は、まず第一章から

第一章:Java基礎

1.1 背景

Javaは元々コンピュータで扱う言語とばかり思っている方が多いだろうが、元々は
家電製品をメインに扱っていた言語である。

1.2 バイトコードとJVM

(swift llvmで検索してみてください)
JavaではJVMというのでプログラムを実行しているらしい。(※swiftでいうllvmに近い)
書いたコードはバイトコードというものに変えられて(バイトコード:CPUに依存しない命令)で
実行されている。

1.3 アプリケーションとアプレット

アプレットは実行する際にWebブラウザを介する必要がある。
アプレットは一般的にサーバーから自分たちが使っているマシンへダウンロードされる。

1.4 クラスとオブジェクト

オブジェクトは状態と動作の両方を持っている。
動作は一連のメソッドと実行されるロジックによって成り立つ。
クラスはオブジェクトのテンプレートでありその鋳型(インスタンス)から生成することをインスタンス化という。

1.5 オブジェクト指向プログラミング3原則

「カプセル化」
データとデータを操作するコードと関連づけることらしく
イメージ的にはデータの周りにぐるぐるとコードが巻かれている状態。
セキュリティ面からしても安全(貴重なデータにアクセス)に
データへのアクセスを同期化することができる。

「継承」
スーパークラス(親)を継承しサブクラスを拡張する。
親が持っている能力を子へ受け継ぎその子にはそこから新たな能力をつけさせるというイメージ。

「ポリモーフィズム」
上記の継承というものが行われた時に引き継いだ入れ物は一緒だが中身を新しいものに置き換える(オーバーライド)
というイメージで物は新しく置き換えたが名前はそのままでその同じ名前の物が違う動きをすることを指す。

1.6 変数と代入
変数というものは何から値を格納することができる。


1.
class hogehoge{
  int num
2.
  public void hogee(){
   int sum
  }
}

(1).のように定義されているのは他の言語でいえばグローバルな変数。

(2).のように定義されているのはローカルな変数。

int num = 514;

宣言と同時に値を設定しておくのが定数

1.7 文字列とキャラクタ

文字列の初期化

String = "hoge"

二重引用符が埋め込まれた状態での文字列の出力

String str = "\"hoge: how are you?\"";

1.8 算術演算子と式

変数への代入

int num

num = 100 * 3

演算しながらでも可能である。

*./.%の演算子は+や-よりも優先順位度が高く設定されている。
()をつけた場合は括弧を付けた箇所の方が優先順位が高くなる。
式の中では、空白や改行などが行える。

また、num = num + 114num += 114とも書ける。

1.9 式中の型変換

char c;

int num;

float fl;

double dbl;

と、変数があった場合以下の式を書くと

dbl = c * num / fl;

Javaでは変換規則というものの元で整数拡張というものが行われる。
Javaは内部的にもっとっも大きな型に合わせて変換するというものを持っている。

基準としてはdouble型かfloat型か、それでもなかったらlong型か、
どれにも該当しないのであれば両方をintとして置き換えるようになっている。

1.10 代入での型変換

byte b;

int num;

という変数がありbという変数にnumを入れるとエラーになる。
これを解決するのに型変換を扱い、これを縮小変換という。

b = (byte)num

また、これをfloat型やdouble型でint型に入れると小数点が切り捨てられる。

1.11 コメント

//これはこんな時に使う

コメントもただコメントを書くのではなく、それぞれに意味があって書かれる。

先頭に//とつけるのを単一なコメント単一行コメントという。

/* */

スラッシュとアスタリスクで囲まれているコメントは

複数行コメントといい/**では始まり

/*
*hogehoge
*/

というようになるコメントをドキュメンテーションコメントといい、このドキュメンテーションコメント
に関してはjavaDocというツールを使うときに必要になる。

1.12 一次元配列

String str[];

というように宣言ができ

| str[0]|
| str[1]|
| str[2]|
| str[3]|
| str[4]|
| str[5]|
| str[6]|
| str[7]|
| str[8]|
| str[9]|

上記のように String str[] の中に順番に入れられる。

また、

String str[] = {ⅡDXRED, HappySky}

というように宣言と同時に中身を決めることができ、
これを配列初期化子を使用するという。
要素の数は配列名.lengthで取得できる。

1.13 多次元配列

int num[3][3];

float pos [5][5][5];

という形で宣言されているもののことを多次元配列という。
イメージとしては

この画像のように格納されている。
3次元はこの画像にある四角に奥行きが追加されたものと考える。

今日はここまで。