Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
【身内向け】中間試験前のJava復習
Search
KAZU34
May 30, 2019
0
110
【身内向け】中間試験前のJava復習
必修落とさないようにしような(ブーメラン)
KAZU34
May 30, 2019
Tweet
Share
More Decks by KAZU34
See All by KAZU34
無償で使えるJDK事情について 〜商用利用も可なLTS JDKとJavaFX〜
kazu34
1
1k
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
41
7.2k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Music & Morning Musume
bryan
46
6.3k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
GraphQLとの向き合い方2022年版
quramy
44
13k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
960
Rails Girls Zürich Keynote
gr2m
94
13k
Writing Fast Ruby
sferik
628
61k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Embracing the Ebb and Flow
colly
84
4.5k
How to train your dragon (web standard)
notwaldorf
89
5.8k
Transcript
【身内向け】中間前のJavaまとめ • 頼むから最後まで見て、実際にコード書いて • 教科書や授業資料から要所々々掻い摘んだだけだ から、教科書も読んで実際にコード書いて • 専門用語とか詳細は教科書なりGoogleなり自分 で調べて、各自の為にならないから教えないよ •
頼むから最後まで見て、実際にコード書いて
しつこい注意事項 • マジで自分で書かないと覚えないし理解できない から書いて • 授業前後以外でサクラエディタ開かないとか論外 だし、正直教えるのに金取っていいレベル • 最初は1年生の頃の内容だけど見た方がいいよ だってコンパイルの仕方から危ういじゃん
コンパイルと実行の仕方 • 必要なソース全部同じディレクトリ内に入れる • コンパイルはjavac ファイル名.java(拡張子必要) • 実行はjava クラス名 [必要な場合のみ実行時引
数] (こっちは拡張子不要、classとかも要らんぞ) • 複数クラス時は利用する側(大抵mainメソッドがあ るクラス)だけコンパイルすれば、利用される側も自 動でコンパイルしてくれる
よく使う型 • 整数→int • 実数(小数)→double • 文字列→String 暗黙的な型変換はJavaでは原則行われずコンパイ ルエラーになる、必要ならキャストやパースをしよう
条件分岐判定(P1〜) • if、if〜else、if〜else if〜else • switch Javaには条件演算子ってのもあるけど、授業では 使わん
繰り返し(P6〜) • for • while • do〜while 継続条件がTrueならループ、終了条件じゃないよ! ネスト構造にすれば多重ループにできる break;でループ中断、continue;で今のループをス
ルーしてループ継続できる
配列(P9〜) • 同じ型で複数要素は配列にまとめると便利 型名[] 配列名 = new 型名[要素数]; • []を重ねると多次元配列にできる、↓は2次元配列
型名[][] 配列名 = new 型名[要素数][要素数]; • 多次元配列は多重ループと一緒に使う事が多い • 配列名.lengthで要素数が取れる、これはループの 継続条件に使う事が多い
メソッド • 定義 [修飾子] 戻り値型 メソッド名(引数) { //中身 } •
使用 メソッド名(引数); • 何気なく使ってるSystem.out.printlnもメソッドだよ
ここまで1年の内容 • いい加減コンパイルの仕方くらいは覚えてね…? • かなりザックリ書いたから気になる点は自分で(ry • こっから2年の内容だけど、1年の内容すら危ういと かなりしんどいよ
修飾子 • メソッドんとこでもさり気使ったけど、[修飾子]っての は必要な場合のみね • 授業でやったのはpublic、private、static • 追々説明しなくはないけど、教科書(ry
クラスの定義(P11〜) [修飾子] class クラス名 { [修飾子] 型名 フィールド名; コンストラクタ() {
} [修飾子] 戻り値型 メソッド名(引数) { [return 戻り値;] } }
クラスの使い方(P14〜) • 基本的にはインスタンスを生成する、インスタンスは クラスの複製 • インスタンスを生成しない場合は後述のstaticで • インスタンスの生成 クラス名 インスタンス名
= new クラス名(コンストラクタ引数); • インスタンスの使用 インスタンス名.各種要素名(変数なりメソッドなり)
public、private修飾子(P18〜) • フィールドは原則privateでカプセル化する 必要以上にアクセスできなくしてバグを防ぐ為 • 直接アクセス不可だからpublicなset、getメソッドを 作り、それ経由でアクセスする set+変数名…フィールドに代入するメソッド get+変数名…フィールドから取得するメソッド •
this.フィールド名で自クラスフィールドと明示できる
コンストラクタ(P27〜) • インスタンス生成時に実行される初期化命令群 • 戻り値は無い、コンストラクタの名前は必ずクラスと 同じ • コンストラクタを多重定義(オーバーロード)してる場 合、this(引数);でコンストラクタから他のコンストラ クタを呼べる。初期化用だからコンストラクタの先
頭でなければ呼べない • コンストラクタでもprivate等修飾子を付けられる
クラス変数、クラスメソッド(P33〜) • フィールドにstaticでクラス変数、メソッドにstaticで クラスメソッドとなる • アクセスはクラス名.各種要素名(インスタンス名で はない!) • staticの文字通り静的だから何度呼び出しても初 期化はされない
• インスタンスの数に関係なく1つだから、共通にすべ き要素をstaticにすると便利
Scannerクラス • おまじないの如く使ってたScannerは実はクラス • いつもscanインスタンスを作って.nextInt(); や.nextDouble();を使っていた • Stringも基本型じゃなくてクラスによるオブジェクト 型だから、.length();で文字列の長さ取れたりする
乱数生成の方法(P52〜) • Randomクラスのインスタンスを生成 • インスタンス名.nextInt(100);で0〜99の整数 0〜100じゃないから注意! • インスタンス名.nextDouble();で0.0〜1.0の実数 • 他のメソッドは教科書なりJDKの仕様書なり参照
パース(P54〜) • 実行時引数などはStringでそのままintやdoubleと して扱えないのでパースが必要、Integerクラスや Doubleクラスなどにパース用メソッドがある • Integer.perseInt(String型の整数); • Double.perseDouble(String型の実数); •
他のメソッドは教科書なりJDKの仕様書なり参照
オブジェクト型変数の代入(P57〜) • クラスによるオブジェクト型も基本型同様代入がで きる Student st1 = new Student(4545); Student
st2 = st1; • オブジェクト型変数はインスタンスの場所を示すか ら、この場合はst2でもst1インスタンスを指すように なる
値渡しと参照渡し(P61〜) • 今までメソッドに引数として渡してきたのは、普通の 変数の値だから値渡し • メソッド定義時に引数の型をオブジェクト型にして、 使用時の引数にそのオブジェクト型変数を書くと参 照を渡せる • 理解するまでは面倒な概念だけど、これでもアセン
ブラやポインタよりは簡単だから頑張ろう
オブジェクト型の配列(P63〜) • 文字通り、基本型だけじゃなくてクラスによるオブ ジェクト型も配列にできる。それだけ Student[] members = new Student[2]; members[0]
= new Student(114); members[1] = new Student(514); • 正直手間だけど用途は割とあるはず
中間試験終わったら • ラーメン食いに行きたい(いつも行ってるけど) • 終 制作・著作 NHK