Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
【身内向け】中間前のJavaまとめ ● 頼むから最後まで見て、実際にコード書いて ● 教科書や授業資料から要所々々掻い摘んだだけだ から、教科書も読んで実際にコード書いて ● 専門用語とか詳細は教科書なりGoogleなり自分 で調べて、各自の為にならないから教えないよ ● 頼むから最後まで見て、実際にコード書いて
Slide 2
Slide 2 text
しつこい注意事項 ● マジで自分で書かないと覚えないし理解できない から書いて ● 授業前後以外でサクラエディタ開かないとか論外 だし、正直教えるのに金取っていいレベル ● 最初は1年生の頃の内容だけど見た方がいいよ だってコンパイルの仕方から危ういじゃん
Slide 3
Slide 3 text
コンパイルと実行の仕方 ● 必要なソース全部同じディレクトリ内に入れる ● コンパイルはjavac ファイル名.java(拡張子必要) ● 実行はjava クラス名 [必要な場合のみ実行時引 数] (こっちは拡張子不要、classとかも要らんぞ) ● 複数クラス時は利用する側(大抵mainメソッドがあ るクラス)だけコンパイルすれば、利用される側も自 動でコンパイルしてくれる
Slide 4
Slide 4 text
よく使う型 ● 整数→int ● 実数(小数)→double ● 文字列→String 暗黙的な型変換はJavaでは原則行われずコンパイ ルエラーになる、必要ならキャストやパースをしよう
Slide 5
Slide 5 text
条件分岐判定(P1〜) ● if、if〜else、if〜else if〜else ● switch Javaには条件演算子ってのもあるけど、授業では 使わん
Slide 6
Slide 6 text
繰り返し(P6〜) ● for ● while ● do〜while 継続条件がTrueならループ、終了条件じゃないよ! ネスト構造にすれば多重ループにできる break;でループ中断、continue;で今のループをス ルーしてループ継続できる
Slide 7
Slide 7 text
配列(P9〜) ● 同じ型で複数要素は配列にまとめると便利 型名[] 配列名 = new 型名[要素数]; ● []を重ねると多次元配列にできる、↓は2次元配列 型名[][] 配列名 = new 型名[要素数][要素数]; ● 多次元配列は多重ループと一緒に使う事が多い ● 配列名.lengthで要素数が取れる、これはループの 継続条件に使う事が多い
Slide 8
Slide 8 text
メソッド ● 定義 [修飾子] 戻り値型 メソッド名(引数) { //中身 } ● 使用 メソッド名(引数); ● 何気なく使ってるSystem.out.printlnもメソッドだよ
Slide 9
Slide 9 text
ここまで1年の内容 ● いい加減コンパイルの仕方くらいは覚えてね…? ● かなりザックリ書いたから気になる点は自分で(ry ● こっから2年の内容だけど、1年の内容すら危ういと かなりしんどいよ
Slide 10
Slide 10 text
修飾子 ● メソッドんとこでもさり気使ったけど、[修飾子]っての は必要な場合のみね ● 授業でやったのはpublic、private、static ● 追々説明しなくはないけど、教科書(ry
Slide 11
Slide 11 text
クラスの定義(P11〜) [修飾子] class クラス名 { [修飾子] 型名 フィールド名; コンストラクタ() { } [修飾子] 戻り値型 メソッド名(引数) { [return 戻り値;] } }
Slide 12
Slide 12 text
クラスの使い方(P14〜) ● 基本的にはインスタンスを生成する、インスタンスは クラスの複製 ● インスタンスを生成しない場合は後述のstaticで ● インスタンスの生成 クラス名 インスタンス名 = new クラス名(コンストラクタ引数); ● インスタンスの使用 インスタンス名.各種要素名(変数なりメソッドなり)
Slide 13
Slide 13 text
public、private修飾子(P18〜) ● フィールドは原則privateでカプセル化する 必要以上にアクセスできなくしてバグを防ぐ為 ● 直接アクセス不可だからpublicなset、getメソッドを 作り、それ経由でアクセスする set+変数名…フィールドに代入するメソッド get+変数名…フィールドから取得するメソッド ● this.フィールド名で自クラスフィールドと明示できる
Slide 14
Slide 14 text
コンストラクタ(P27〜) ● インスタンス生成時に実行される初期化命令群 ● 戻り値は無い、コンストラクタの名前は必ずクラスと 同じ ● コンストラクタを多重定義(オーバーロード)してる場 合、this(引数);でコンストラクタから他のコンストラ クタを呼べる。初期化用だからコンストラクタの先 頭でなければ呼べない ● コンストラクタでもprivate等修飾子を付けられる
Slide 15
Slide 15 text
クラス変数、クラスメソッド(P33〜) ● フィールドにstaticでクラス変数、メソッドにstaticで クラスメソッドとなる ● アクセスはクラス名.各種要素名(インスタンス名で はない!) ● staticの文字通り静的だから何度呼び出しても初 期化はされない ● インスタンスの数に関係なく1つだから、共通にすべ き要素をstaticにすると便利
Slide 16
Slide 16 text
Scannerクラス ● おまじないの如く使ってたScannerは実はクラス ● いつもscanインスタンスを作って.nextInt(); や.nextDouble();を使っていた ● Stringも基本型じゃなくてクラスによるオブジェクト 型だから、.length();で文字列の長さ取れたりする
Slide 17
Slide 17 text
乱数生成の方法(P52〜) ● Randomクラスのインスタンスを生成 ● インスタンス名.nextInt(100);で0〜99の整数 0〜100じゃないから注意! ● インスタンス名.nextDouble();で0.0〜1.0の実数 ● 他のメソッドは教科書なりJDKの仕様書なり参照
Slide 18
Slide 18 text
パース(P54〜) ● 実行時引数などはStringでそのままintやdoubleと して扱えないのでパースが必要、Integerクラスや Doubleクラスなどにパース用メソッドがある ● Integer.perseInt(String型の整数); ● Double.perseDouble(String型の実数); ● 他のメソッドは教科書なりJDKの仕様書なり参照
Slide 19
Slide 19 text
オブジェクト型変数の代入(P57〜) ● クラスによるオブジェクト型も基本型同様代入がで きる Student st1 = new Student(4545); Student st2 = st1; ● オブジェクト型変数はインスタンスの場所を示すか ら、この場合はst2でもst1インスタンスを指すように なる
Slide 20
Slide 20 text
値渡しと参照渡し(P61〜) ● 今までメソッドに引数として渡してきたのは、普通の 変数の値だから値渡し ● メソッド定義時に引数の型をオブジェクト型にして、 使用時の引数にそのオブジェクト型変数を書くと参 照を渡せる ● 理解するまでは面倒な概念だけど、これでもアセン ブラやポインタよりは簡単だから頑張ろう
Slide 21
Slide 21 text
オブジェクト型の配列(P63〜) ● 文字通り、基本型だけじゃなくてクラスによるオブ ジェクト型も配列にできる。それだけ Student[] members = new Student[2]; members[0] = new Student(114); members[1] = new Student(514); ● 正直手間だけど用途は割とあるはず
Slide 22
Slide 22 text
中間試験終わったら ● ラーメン食いに行きたい(いつも行ってるけど) ● 終 制作・著作 NHK