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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Yusuke
June 20, 2020
Programming
0
250
第四回 未経験者のためのJava勉強会
Yusuke
June 20, 2020
Tweet
Share
More Decks by Yusuke
See All by Yusuke
第五回 未経験者のためのJava勉強会
yusuke_i32
0
200
第三回 未経験者のためのJava勉強会
yusuke_i32
0
330
第二回 未経験者のためのJava勉強会
yusuke_i32
0
240
Java講習.pdf
yusuke_i32
0
620
Other Decks in Programming
See All in Programming
Package Management Learnings from Homebrew
mikemcquaid
0
230
Oxlintはいいぞ
yug1224
5
1.4k
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
1
1k
今から始めるClaude Code超入門
448jp
8
9.1k
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
440
AI Agent の開発と運用を支える Durable Execution #AgentsInProd
izumin5210
7
2.3k
AI によるインシデント初動調査の自動化を行う AI インシデントコマンダーを作った話
azukiazusa1
1
750
humanlayerのブログから学ぶ、良いCLAUDE.mdの書き方
tsukamoto1783
0
200
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
660
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
3
180
IFSによる形状設計/デモシーンの魅力 @ 慶應大学SFC
gam0022
1
310
組織で育むオブザーバビリティ
ryota_hnk
0
180
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
How Software Deployment tools have changed in the past 20 years
geshan
0
32k
Making Projects Easy
brettharned
120
6.6k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.2k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
380
Tell your own story through comics
letsgokoyo
1
810
Ethics towards AI in product and experience design
skipperchong
2
200
How to train your dragon (web standard)
notwaldorf
97
6.5k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
77
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
240
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
68
Transcript
未経験者のためのJava勉強会 第四回
エンジニアカフェの紹介
エンジニアカフェ エンジニアやエンジニアに関わる人、エンジニアを目指す人をサポートする施設です。 エンジニアカフェ外観(提供:福岡市) イベントの様子 コワーキングスペース Event Co-Working&Meeting Consulting Cafe&Bar エンジニアカフェで体験できること
エンジニアカフェでは 随時ご相談を受け付けております! 本日のイベントに関するご質問はもちろん エンジニアに関するご相談・ご質問はお気軽にどうぞ! ・勉強の仕方を教えて欲しい ・学生でも参加しやすいコミュニティが知りたい ・子どもにおすすめのプログラミング教材ってある? ・3Dプリンタでこんなの作れる? などなど! スタッフやコミュニティマネージャーがオフライン・オンライン問わず
ご対応致します。
この勉強会の目的 参加していただいた皆さんと一緒にJavaを勉強して行く 勉強会です!
自己紹介 • 今吉佑介 • KCS福岡情報専門学校 • Java , Ruby on
rails
目次 ・前回のおさらい ・メソッドのおさらい ・ソースコードの分け方 ・パッケージ ・Java API
No.1 前回のおさらい
・メソッド 一連の処理をまとめた物 クラス内でメソッドを定義する。 ・引数 メソッドを呼び出す際に渡す値 引数を与える側が実引数、受け取る側が仮引数
・変数スコープ メソッド内で定義した変数はそのメソッドでしか使用できない。 ・戻り値 returnを使用してメソッド呼び出し元へ値を返す。 returnを使用する際、値の型を指定しなければならない。
・オーバーロード メソッド名が同じでも型を変更すれば呼び出す事ができる。 ・エントリーポイント Javaプログラムが実行開始する場所 定義に当てはまる物がmainメソッド
No.2 メソッドの復習
次のコードを複写してください
None
足算メソッドを定義していきます。
None
None
引き算メソッドを定義しましょう
None
None
実行するとこの様になります
No.3 ソースコードの分け方
なぜコードを分けるのか 1つのクラスファイルにメソッドを全て定義してしまうと 視認性が悪くなってしまいます。
None
mainメソッド tasuメソッドを呼び出す hikuメソッドを呼び出す tasuメソッド hikuメソッド Calcクラス CalcLogicクラス 数字を渡す 計算結果を返す 完成図
mainメソッド tasuメソッドを呼び出す hikuメソッドを呼び出す tasuメソッド hikuメソッド Calcクラス CalcLogicクラス ClacLogicクラスを作成しましょう
CalcLogicクラスファイルを 作成してください。
この時にmainメソッドは必要ありません
mainメソッド tasuメソッドを呼び出す hikuメソッドを呼び出す Calcクラス CalcLogicクラス tasu,hikuメソッドをcalcLogicへ 移動させます tasuメソッド hikuメソッド
None
None
None
まだこれではメソッドを呼び出す事ができません。
参照元のクラス名を付けてください
None
mainメソッド tasuメソッドを呼び出す hikuメソッドを呼び出す tasuメソッド hikuメソッド Calcクラス CalcLogicクラス 数字を渡す 計算結果を返す 完成しました!
実行してみましょう
javac Calc.java CalcLogic.java こちらをターミナルで実行してください。 CalcファイルとCalcLogicファイル両方を コンパイルする必要があります。
java Calc CalcLogic 次にこちらを実行すると結果が表示されます。
None
No.4 パッケージ
・パッケージを利用することによってクラスの 管理が楽になる ・同じクラス名を付ける事ができる 利点
calcクラス calcクラス 開発者A 開発者B 複数人で開発する際にクラス名が被ってしまう可能性がある 被ってしまってはクラス間の衝突が起きてしまう
calcクラス calcクラス 別々にパッケージされていれば 同じ名前のクラスを作っても区別ができる Aパッケージ Bパッケージ 開発者A 開発者B
先ほど作成した Calcクラスをcalcapp.mainフォルダーにClacLogicク ラスをcalcapp.logicsフォルダーに 所属させましょう
None
None
None
None
クラスファイルの文頭に package 所属させたパッケージ名; を記入する
None
None
None
None
所属パッケージ名 クラス名 メソッド名
この様に別のパッケージからクラスを呼び出す場合 パッケージ名を頭につけた完全なクラス名を使用しなければいけない。
このパッケージ名を付けた完全なクラス名の事を 完全限定クラス名と呼びます これを略称でFQCN(fully qualified class name)
完全限定クラス名を省略する
importを使用して最初にパッケージを 参照する事により記述を省略できる。
importの書き方 import パッケージ名.クラス名;
下線部はアスタリスクです
None
None
None
packageした時の実行方法
コンパイルを通す際にディレクトリを 記述する
None
calcapp/main/Calc.java
None
No.5 Java API
ざっくり言うとパケージされた Javaの便利ツールです! 次のURLを検索してください! https://docs.oracle.com/javase/jp/8/docs/api/ Java APIとは?
None
java.utilのScannerを使ってみましょう!
Scannerクラス コマンドラインなどから文字列、整数などを 受け取ることができるメソッドを持っている
None
None
None
None
文字列を受け取る場合
None
None
None
これを実行してみましょう
None
None
None
None
数字を受け取る場合
None
実行してみましょう
None
None
None
この他にも色んなクラスがあるので 必要に応じて使ってみてください!
本日のまとめ ・ソースコードを分て書くことによって冗長なコードを書かなくて済む ・パッケージすることにより必要に応じてimportを使用して メソッドを呼び出せる ・Java API はJavaが標準で持っているクラスパッケージ便利なクラスが たくさんある!
エンジニアカフェでは 随時ご相談を受け付けております! 本日のイベントに関するご質問はもちろん エンジニアに関するご相談・ご質問はお気軽にどうぞ! ・勉強の仕方を教えて欲しい ・学生でも参加しやすいコミュニティが知りたい ・子どもにおすすめのプログラミング教材ってある? ・3Dプリンタでこんなの作れる? などなど! スタッフやコミュニティマネージャーがオフライン・オンライン問わず
ご対応致します。