SlideShare a Scribd company logo
1 of 96
Download to read offline
未経験者のためのJava勉強会
第四回
エンジニアカフェの紹介
エンジニアカフェ
エンジニアやエンジニアに関わる人、エンジニアを目指す人をサポートする施設です。
エンジニアカフェ外観(提供:福岡市) イベントの様子 コワーキングスペース
Event Co-Working&Meeting Consulting Cafe&Bar
エンジニアカフェで体験できること
エンジニアカフェでは
随時ご相談を受け付けております!
本日のイベントに関するご質問はもちろん
エンジニアに関するご相談・ご質問はお気軽にどうぞ!
・勉強の仕方を教えて欲しい
・学生でも参加しやすいコミュニティが知りたい
・子どもにおすすめのプログラミング教材ってある?
・3Dプリンタでこんなの作れる?
などなど!
スタッフやコミュニティマネージャーがオフライン・オンライン問わず
ご対応致します。
この勉強会の目的
参加していただいた皆さんと一緒にJavaを勉強して行く
勉強会です!
自己紹介
● 今吉佑介
● KCS福岡情報専門学校
● Java , Ruby
目次
・前回のおさらい
・メソッドのおさらい
・ソースコードの分け方
・パッケージ
・Java API
No.1
前回のおさらい
・メソッド
一連の処理をまとめた物
クラス内でメソッドを定義する。
・引数
メソッドを呼び出す際に渡す値
引数を与える側が実引数、受け取る側が仮引数
・変数スコープ
メソッド内で定義した変数はそのメソッドでしか使用できない。
・戻り値
returnを使用してメソッド呼び出し元へ値を返す。
returnを使用する際、値の型を指定しなければならない。
・オーバーロード
メソッド名が同じでも型を変更すれば呼び出す事ができる。
・エントリーポイント
Javaプログラムが実行開始する場所
定義に当てはまる物がmainメソッド
No.2
メソッドの復習
次のコードを複写してください
足算メソッドを定義していきます。
引き算メソッドを定義しましょう
実行するとこの様になります
No.3
ソースコードの分け方
なぜコードを分けるのか
1つのクラスファイルにメソッドを全て定義してしまうと
視認性が悪くなってしまいます。
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メソッド
まだこれではメソッドを呼び出す事ができません。
参照元のクラス名を付けてください
mainメソッド
tasuメソッドを呼び出す
hikuメソッドを呼び出す
tasuメソッド
hikuメソッド
Calcクラス CalcLogicクラス
数字を渡す
計算結果を返す
完成しました!
実行してみましょう
javac Calc.java CalcLogic.java
こちらをターミナルで実行してください。
CalcファイルとCalcLogicファイル両方を
コンパイルする必要があります。
java Calc CalcLogic
次にこちらを実行すると結果が表示されます。
No.4
パッケージ
・パッケージを利用することによってクラスの
 管理が楽になる
・同じクラス名を付ける事ができる
利点
calcクラス calcクラス
開発者A 開発者B
複数人で開発する際にクラス名が被ってしまう可能性がある
被ってしまってはクラス間の衝突が起きてしまう
calcクラス calcクラス
別々にパッケージされていれば
同じ名前のクラスを作っても区別ができる
Aパッケージ Bパッケージ
開発者A 開発者B
先ほど作成した
Calcクラスをcalcapp.mainフォルダーにClacLogicク
ラスをcalcapp.logicsフォルダーに
所属させましょう
クラスファイルの文頭に
package 所属させたパッケージ名;
を記入する
所属パッケージ名 クラス名 メソッド名
この様に別のパッケージからクラスを呼び出す場合
パッケージ名を頭につけた完全なクラス名を使用しなければいけない。
このパッケージ名を付けた完全なクラス名の事を
完全限定クラス名と呼びます
これを略称でFQCN(fully qualified class name)
完全限定クラス名を省略する
importを使用して最初にパッケージを
参照する事により記述を省略できる。
importの書き方
import パッケージ名.クラス名;
下線部はアスタリスクです
packageした時の実行方法
コンパイルを通す際にディレクトリを
記述する
calcapp/main/Calc.java
No.5
Java API
ざっくり言うとパケージされた
Javaの便利ツールです!
次のURLを検索してください!
https://docs.oracle.com/javase/jp/8/docs/api/
Java APIとは?
java.utilのScannerを使ってみましょう!
Scannerクラス
コマンドラインなどから文字列、整数などを
受け取ることができるメソッドを持っている
文字列を受け取る場合
これを実行してみましょう
数字を受け取る場合
実行してみましょう
この他にも色んなクラスがあるので
必要に応じて使ってみてください!
本日のまとめ
・ソースコードを分て書くことによって冗長なコードを書かなくて済む
・パッケージすることにより必要に応じてimportを使用して
 メソッドを呼び出せる
・Java API はJavaが標準で持っているクラスパッケージ便利なクラスが
 たくさんある!
エンジニアカフェでは
随時ご相談を受け付けております!
本日のイベントに関するご質問はもちろん
エンジニアに関するご相談・ご質問はお気軽にどうぞ!
・勉強の仕方を教えて欲しい
・学生でも参加しやすいコミュニティが知りたい
・子どもにおすすめのプログラミング教材ってある?
・3Dプリンタでこんなの作れる?
などなど!
スタッフやコミュニティマネージャーがオフライン・オンライン問わず
ご対応致します。

More Related Content

Similar to Java4

師弟登壇2015 GMOペパボ @orzup
師弟登壇2015 GMOペパボ @orzup師弟登壇2015 GMOペパボ @orzup
師弟登壇2015 GMOペパボ @orzupAsami Nakano
 
はじめてのテスト技法
はじめてのテスト技法はじめてのテスト技法
はじめてのテスト技法Tatsuya Saito
 
C7 デブサミ関西版コミュニティLT #kansumi2013
C7 デブサミ関西版コミュニティLT #kansumi2013C7 デブサミ関西版コミュニティLT #kansumi2013
C7 デブサミ関西版コミュニティLT #kansumi2013rip jyr
 
ペアプロはリモートでもできる!
ペアプロはリモートでもできる!ペアプロはリモートでもできる!
ペアプロはリモートでもできる!Tatsuya Deguchi
 
20190309_chillSAPイベント概要_公開版
20190309_chillSAPイベント概要_公開版20190309_chillSAPイベント概要_公開版
20190309_chillSAPイベント概要_公開版MasashiOtsuka1
 
from_beginner_to_engineer
from_beginner_to_engineerfrom_beginner_to_engineer
from_beginner_to_engineerYuka Tokuyama
 
Janog33説明会20130820
Janog33説明会20130820Janog33説明会20130820
Janog33説明会20130820Taiji Tsuchiya
 
ペアプロのオイシイ料理法、おしえます。
ペアプロのオイシイ料理法、おしえます。ペアプロのオイシイ料理法、おしえます。
ペアプロのオイシイ料理法、おしえます。takepu
 
アジャイル開発へのイテレーション・ゼロ
アジャイル開発へのイテレーション・ゼロアジャイル開発へのイテレーション・ゼロ
アジャイル開発へのイテレーション・ゼロTaisuke Shiratori
 
全国のWEB制作関連勉強会と福井にいながら参加する方法
全国のWEB制作関連勉強会と福井にいながら参加する方法全国のWEB制作関連勉強会と福井にいながら参加する方法
全国のWEB制作関連勉強会と福井にいながら参加する方法智弘 森下
 
頭を柔らかくするデザインの発想 by Life is Tech !
頭を柔らかくするデザインの発想 by Life is Tech !頭を柔らかくするデザインの発想 by Life is Tech !
頭を柔らかくするデザインの発想 by Life is Tech !Naoki Kanazawa
 
ネットにつながれない君たちに贈る。ノンプログラミングでESP8266を15分でネットに繋げる方法@io tlt
ネットにつながれない君たちに贈る。ノンプログラミングでESP8266を15分でネットに繋げる方法@io tltネットにつながれない君たちに贈る。ノンプログラミングでESP8266を15分でネットに繋げる方法@io tlt
ネットにつながれない君たちに贈る。ノンプログラミングでESP8266を15分でネットに繋げる方法@io tltTokusei Noborio
 
知ってるようで知らないWeb基礎セミナー
知ってるようで知らないWeb基礎セミナー知ってるようで知らないWeb基礎セミナー
知ってるようで知らないWeb基礎セミナーukkyo
 
Google LighthouseのPWA項目で満点をトル!
Google LighthouseのPWA項目で満点をトル!Google LighthouseのPWA項目で満点をトル!
Google LighthouseのPWA項目で満点をトル! 2nose
 
Siggraph2012報告会前半
Siggraph2012報告会前半Siggraph2012報告会前半
Siggraph2012報告会前半fumoto kazuhiro
 
Requirement for beginners vol 2
Requirement for beginners vol 2Requirement for beginners vol 2
Requirement for beginners vol 2AsukaTsukamoto
 
共創におけるプロトタイピングの役割 - Chapliのデザインプロセス -
共創におけるプロトタイピングの役割 - Chapliのデザインプロセス -共創におけるプロトタイピングの役割 - Chapliのデザインプロセス -
共創におけるプロトタイピングの役割 - Chapliのデザインプロセス -Eri Kakuho
 
「なぜクリエイティブ制作は自動化できないのか?
 〜広告史を巡って〜」セプテーニ加来幸樹×フクロウラボ林田朋也
「なぜクリエイティブ制作は自動化できないのか?
 〜広告史を巡って〜」セプテーニ加来幸樹×フクロウラボ林田朋也「なぜクリエイティブ制作は自動化できないのか?
 〜広告史を巡って〜」セプテーニ加来幸樹×フクロウラボ林田朋也
「なぜクリエイティブ制作は自動化できないのか?
 〜広告史を巡って〜」セプテーニ加来幸樹×フクロウラボ林田朋也じょいとも
 

Similar to Java4 (20)

Java6
Java6Java6
Java6
 
師弟登壇2015 GMOペパボ @orzup
師弟登壇2015 GMOペパボ @orzup師弟登壇2015 GMOペパボ @orzup
師弟登壇2015 GMOペパボ @orzup
 
はじめてのテスト技法
はじめてのテスト技法はじめてのテスト技法
はじめてのテスト技法
 
C7 デブサミ関西版コミュニティLT #kansumi2013
C7 デブサミ関西版コミュニティLT #kansumi2013C7 デブサミ関西版コミュニティLT #kansumi2013
C7 デブサミ関西版コミュニティLT #kansumi2013
 
ペアプロはリモートでもできる!
ペアプロはリモートでもできる!ペアプロはリモートでもできる!
ペアプロはリモートでもできる!
 
20190309_chillSAPイベント概要_公開版
20190309_chillSAPイベント概要_公開版20190309_chillSAPイベント概要_公開版
20190309_chillSAPイベント概要_公開版
 
from_beginner_to_engineer
from_beginner_to_engineerfrom_beginner_to_engineer
from_beginner_to_engineer
 
Janog33説明会20130820
Janog33説明会20130820Janog33説明会20130820
Janog33説明会20130820
 
ペアプロのオイシイ料理法、おしえます。
ペアプロのオイシイ料理法、おしえます。ペアプロのオイシイ料理法、おしえます。
ペアプロのオイシイ料理法、おしえます。
 
アジャイル開発へのイテレーション・ゼロ
アジャイル開発へのイテレーション・ゼロアジャイル開発へのイテレーション・ゼロ
アジャイル開発へのイテレーション・ゼロ
 
全国のWEB制作関連勉強会と福井にいながら参加する方法
全国のWEB制作関連勉強会と福井にいながら参加する方法全国のWEB制作関連勉強会と福井にいながら参加する方法
全国のWEB制作関連勉強会と福井にいながら参加する方法
 
第4回プログラミングカフェ_テキスト
第4回プログラミングカフェ_テキスト第4回プログラミングカフェ_テキスト
第4回プログラミングカフェ_テキスト
 
頭を柔らかくするデザインの発想 by Life is Tech !
頭を柔らかくするデザインの発想 by Life is Tech !頭を柔らかくするデザインの発想 by Life is Tech !
頭を柔らかくするデザインの発想 by Life is Tech !
 
ネットにつながれない君たちに贈る。ノンプログラミングでESP8266を15分でネットに繋げる方法@io tlt
ネットにつながれない君たちに贈る。ノンプログラミングでESP8266を15分でネットに繋げる方法@io tltネットにつながれない君たちに贈る。ノンプログラミングでESP8266を15分でネットに繋げる方法@io tlt
ネットにつながれない君たちに贈る。ノンプログラミングでESP8266を15分でネットに繋げる方法@io tlt
 
知ってるようで知らないWeb基礎セミナー
知ってるようで知らないWeb基礎セミナー知ってるようで知らないWeb基礎セミナー
知ってるようで知らないWeb基礎セミナー
 
Google LighthouseのPWA項目で満点をトル!
Google LighthouseのPWA項目で満点をトル!Google LighthouseのPWA項目で満点をトル!
Google LighthouseのPWA項目で満点をトル!
 
Siggraph2012報告会前半
Siggraph2012報告会前半Siggraph2012報告会前半
Siggraph2012報告会前半
 
Requirement for beginners vol 2
Requirement for beginners vol 2Requirement for beginners vol 2
Requirement for beginners vol 2
 
共創におけるプロトタイピングの役割 - Chapliのデザインプロセス -
共創におけるプロトタイピングの役割 - Chapliのデザインプロセス -共創におけるプロトタイピングの役割 - Chapliのデザインプロセス -
共創におけるプロトタイピングの役割 - Chapliのデザインプロセス -
 
「なぜクリエイティブ制作は自動化できないのか?
 〜広告史を巡って〜」セプテーニ加来幸樹×フクロウラボ林田朋也
「なぜクリエイティブ制作は自動化できないのか?
 〜広告史を巡って〜」セプテーニ加来幸樹×フクロウラボ林田朋也「なぜクリエイティブ制作は自動化できないのか?
 〜広告史を巡って〜」セプテーニ加来幸樹×フクロウラボ林田朋也
「なぜクリエイティブ制作は自動化できないのか?
 〜広告史を巡って〜」セプテーニ加来幸樹×フクロウラボ林田朋也
 

Java4