SlideShare ist ein Scribd-Unternehmen logo
1 von 43
XMLPro 23回目
(最終回)
前回の復習
(クラス)コンストラクタ
継承
2
コンストラクタ
• オブジェクトを作成した時だけ呼ばれるメソッ
ド
• 初期設定に使われたりする
3
使い方
main文の無いクラスで
class クラス名{
public クラス名(引数の型 引数){
処理の内容
}
}
青枠の中がコンストラクタ
4
継承
• スーパークラス(親)のメソッド、変数を使うこと
ができるようにするサブクラス(子)を作ること
をさす
5
使い方
class サブクラス名 extendsスーパークラス名{
処理の内容
}
6
本日の内容
今までのまとめ
7
今までやったこと
• 変数と型
• 繰り返し
• 文字入出力
• 条件分岐
• メソッド
• クラス
• 継承
8
今までやったこと
• 変数と型
• 繰り返し
• 文字入出力
• 条件分岐
• メソッド
• クラス
• 継承
9
変数と型
• プログラム内で使用する文字や数を変数と言
い型で区別している
• int
• double
• char
• String
• …
10
四則演算などを行った場合
char < int < long < float < double
精度の高い型に統一されます
ソース 実行結果
11
キャスト
変数の手前に
(型) 変数
と記述することで型を強制的に別の型に変換す
ることができる これをキャストという
12
今までやったこと
• 変数と型
• 繰り返し
• 文字入出力
• 条件分岐
• メソッド
• クラス
• 継承
13
繰り返し
• 同じような動作を繰り返すために繰り返し用
の構文が用意されている
• for
• while
• do while
14
for(int a=1;a<=10;a++){
繰り返したい内容
}
for(変数の初期化;繰り返し条件式; 一回終わるごとの
処理){
繰り返しの内容
}
15
while文
while(繰り返し条件){
繰り返したい内容
}
繰り返し条件が真である間{ }の中を繰り返す
16
多重ループ
入れ子とも呼ばれる
FizzBuzz問題の時forの繰り返しの中に
if文で判定をする処理を書いた
これと同じでfor文の中にfor文をつくることもで
きる
17
問題
• 1から13579までの数を足し合わせて表示す
るプログラムを作成する
18
今までやったこと
• 変数と型
• 繰り返し
• 文字入出力
• 条件分岐
• メソッド
• クラス
• 継承
19
文字入力
ソースコードではない場所からの入力やファイ
ルの読み込みのために
• BufferedReader
• Scanner
の2つを使用した
20
• Scanner scan=new Scanner(System.in);
• String str=scan.nextline();
これでstrに入力した文字が入る
21
文字出力
• コンソールに表示している方法
• system.out.print(出力したい内容);
• system.out.println(出力したい内容);
• printlnで出力後改行される
22
問題
コンソールに
• system.out.println(“HelloWorld”);
と表示させる
23
今までやったこと
• 変数と型
• 繰り返し
• 文字入出力
• 条件分岐
• メソッド
• クラス
• 継承
24
条件分岐
条件によって分岐するプログラムを作りたい
ときに使われる構文で
「もし設定した条件を満たしていたら」
という場合の処理を記述できる
25
if(条件 1){
条件1が真の時に実行される処理
}
else if(条件2){
条件2が真の時に実行される処理
}
else if(条件n){
条件nが真の時に実行される処理
}
26
問題
• キーボードから入力した数字が3と8の公倍数
であったら、入力した数字を表示するプログラ
ムを書く
27
今までやったこと
• 変数と型
• 繰り返し
• 文字入出力
• 条件分岐
• メソッド
• クラス
• 継承
28
メソッド
• プログラムでは同じような処理を何度も記述
しなければならないことがあります
• そんな処理を一つの機能としてまとめて、必
要に応じて利用できるようにしておくと便利で
す。
↓
その纏めた処理の塊をメソッドといいます
29
メソッドを呼び出すときは
メソッド名(引数);
で呼び出せる
呼び出されるメソッドでは
public static 返り値 メソッド名(引数の型 引数の名前){
処理の内容
}
30
メソッドと引数
31
実行結果
• mainでは引数としてdoubleを渡しています
• doubleを受けとっているメソッドはどれ?
結果→
32
• 同じメソッド名でも引数の型や数によって使い
分けられます。これをオーバーロードといいま
す
33
関数の定義方法図解
いつも書くも
の
返り値の
型
関数
名前
引数
の型
引数の
名前
返り値
の値
問題
• 引数を2つを受け取り、BMIを返すBMIメソッド
を作成する
• BMIは体重(kg)÷身長(m)*身長(m)
で求められる
35
今までやったこと
• 変数と型
• 繰り返し
• 文字入出力
• 条件分岐
• メソッド
• クラス
• 継承
36
クラス
• クラスと言うのは何かといいますと、何かを実行する
物体の設計図のようなものです。
• 何かを実行するというのは、例えば車であれば人を乗
せて走りますし、テレビであれば放送を受信して画像
と音を出すということを実行します。
• クラスというのはそれらの設計図と言うわけです。
– http://www.javadrive.jp/start/about/index1.html よ
り
37
クラスとは
• クラスはメソッド(機能)とフィールド(変数のこ
と)の固まりです
• メソッド(機能)とフィールド(変数のこと)のこと
をクラスのメンバといいます
38
クラスにはメソッド書けます
Staticは必要ない(普通は)
例)
class クラス名{
public void メソッド() {
}
}
39
クラスのメソッドを使うにはオブジェクトを作成す
る
クラス名 オブジェクト名 = new クラス名(引数);
オブジェクト名.メソッド名(引数)
40
今までやったこと
• 変数と型
• 繰り返し
• 文字入出力
• 条件分岐
• メソッド
• クラス
• 継承
41
継承
共通している部分はそのままで異なる部分だ
け追加すると手間がかからない。
このような場合に、親となるクラスをスーパークラ
スと言います。
継承すると「継承元のクラス」のメソッドやフィール
ドが「継承したクラス」で使えるようになります
継承する側のクラスはサブクラスと呼ぶ
42
使い方
class サブクラス名 extendsスーパークラス名{
処理の内容
}
注意点
クラスの継承は一度に1つしか出来ないことです。
継承したいクラスが複数あったとしても、Javaでは
一度に1つのスーパークラスしか継承することは出
来ません。
43

Weitere ähnliche Inhalte

Andere mochten auch

Ebr workshop task 08 - fotoprotokoll - tag 3
Ebr   workshop task 08 - fotoprotokoll - tag 3Ebr   workshop task 08 - fotoprotokoll - tag 3
Ebr workshop task 08 - fotoprotokoll - tag 3
Werner Drizhal
 
Rafaella 4ano B
Rafaella     4ano BRafaella     4ano B
Rafaella 4ano B
pafa
 
καλοκαιρι 2014 βιβλια
καλοκαιρι 2014 βιβλιακαλοκαιρι 2014 βιβλια
καλοκαιρι 2014 βιβλια
Elef Kent
 
Wsa stellungnahme lissabon-strategie
Wsa stellungnahme lissabon-strategieWsa stellungnahme lissabon-strategie
Wsa stellungnahme lissabon-strategie
Werner Drizhal
 

Andere mochten auch (20)

Dossier de Fatima Martin Rodriguez 3
Dossier de Fatima Martin Rodriguez 3Dossier de Fatima Martin Rodriguez 3
Dossier de Fatima Martin Rodriguez 3
 
Winnie Pooh
Winnie PoohWinnie Pooh
Winnie Pooh
 
Comenius preparatory visit
Comenius preparatory visitComenius preparatory visit
Comenius preparatory visit
 
"Тепле вело-місто" (Івано-Франківськ) - старт програми
"Тепле вело-місто" (Івано-Франківськ) - старт програми"Тепле вело-місто" (Івано-Франківськ) - старт програми
"Тепле вело-місто" (Івано-Франківськ) - старт програми
 
LastròLeg I Lembruiixadora
LastròLeg I LembruiixadoraLastròLeg I Lembruiixadora
LastròLeg I Lembruiixadora
 
Ebr workshop task 08 - fotoprotokoll - tag 3
Ebr   workshop task 08 - fotoprotokoll - tag 3Ebr   workshop task 08 - fotoprotokoll - tag 3
Ebr workshop task 08 - fotoprotokoll - tag 3
 
Jornadas Liturgicas Pontevedra 2008
Jornadas Liturgicas Pontevedra 2008Jornadas Liturgicas Pontevedra 2008
Jornadas Liturgicas Pontevedra 2008
 
UN VIAJE
UN VIAJEUN VIAJE
UN VIAJE
 
000035 a2. rosilene
000035 a2. rosilene000035 a2. rosilene
000035 a2. rosilene
 
Mancare Romaneasca
Mancare RomaneascaMancare Romaneasca
Mancare Romaneasca
 
Apresentação de Claúdio Machado
Apresentação de Claúdio MachadoApresentação de Claúdio Machado
Apresentação de Claúdio Machado
 
Rafaella 4ano B
Rafaella     4ano BRafaella     4ano B
Rafaella 4ano B
 
Alg Transg V Moy
Alg Transg V MoyAlg Transg V Moy
Alg Transg V Moy
 
debt reduction program
debt reduction programdebt reduction program
debt reduction program
 
καλοκαιρι 2014 βιβλια
καλοκαιρι 2014 βιβλιακαλοκαιρι 2014 βιβλια
καλοκαιρι 2014 βιβλια
 
Case Deosebite
Case DeosebiteCase Deosebite
Case Deosebite
 
Wsa stellungnahme lissabon-strategie
Wsa stellungnahme lissabon-strategieWsa stellungnahme lissabon-strategie
Wsa stellungnahme lissabon-strategie
 
11 Dicas Essenciais Para Economizar (e muito) na Hora de Viajar
11 Dicas Essenciais Para Economizar (e muito) na Hora de Viajar11 Dicas Essenciais Para Economizar (e muito) na Hora de Viajar
11 Dicas Essenciais Para Economizar (e muito) na Hora de Viajar
 
Sejarah Dunia pada Akhir Perang Dunia II
Sejarah Dunia pada Akhir Perang Dunia IISejarah Dunia pada Akhir Perang Dunia II
Sejarah Dunia pada Akhir Perang Dunia II
 
Active Directoryドメインを作る準備 ~AD DSとDNSサーバーのインストール~
Active Directoryドメインを作る準備 ~AD DSとDNSサーバーのインストール~Active Directoryドメインを作る準備 ~AD DSとDNSサーバーのインストール~
Active Directoryドメインを作る準備 ~AD DSとDNSサーバーのインストール~
 

Ähnlich wie 第23回目

基礎構文班21回目 (コンストラクタ, 継承)
基礎構文班21回目 (コンストラクタ, 継承)基礎構文班21回目 (コンストラクタ, 継承)
基礎構文班21回目 (コンストラクタ, 継承)
XMLProJ2014
 
Effective java2nd chap04
Effective java2nd chap04Effective java2nd chap04
Effective java2nd chap04
ohtsuchi
 

Ähnlich wie 第23回目 (8)

Javaプログラミング入門【第5回】
Javaプログラミング入門【第5回】Javaプログラミング入門【第5回】
Javaプログラミング入門【第5回】
 
基礎構文班21回目 (コンストラクタ, 継承)
基礎構文班21回目 (コンストラクタ, 継承)基礎構文班21回目 (コンストラクタ, 継承)
基礎構文班21回目 (コンストラクタ, 継承)
 
pi-9. スーパークラス, サブクラス, 継承
pi-9. スーパークラス, サブクラス, 継承pi-9. スーパークラス, サブクラス, 継承
pi-9. スーパークラス, サブクラス, 継承
 
オブジェクト指向
オブジェクト指向オブジェクト指向
オブジェクト指向
 
pf-8. メソッド,クラス,コンストラクタ,継承
pf-8. メソッド,クラス,コンストラクタ,継承pf-8. メソッド,クラス,コンストラクタ,継承
pf-8. メソッド,クラス,コンストラクタ,継承
 
pi-13. 今までの総まとめ
pi-13. 今までの総まとめpi-13. 今までの総まとめ
pi-13. 今までの総まとめ
 
pi-3. 式の抽象化とメソッド
pi-3. 式の抽象化とメソッドpi-3. 式の抽象化とメソッド
pi-3. 式の抽象化とメソッド
 
Effective java2nd chap04
Effective java2nd chap04Effective java2nd chap04
Effective java2nd chap04
 

Mehr von XMLProJ2014 (20)

Java班講義資料第3回
Java班講義資料第3回Java班講義資料第3回
Java班講義資料第3回
 
Java班講義資料第2回
Java班講義資料第2回Java班講義資料第2回
Java班講義資料第2回
 
第1回Java講義資料
第1回Java講義資料第1回Java講義資料
第1回Java講義資料
 
00環境構築
00環境構築00環境構築
00環境構築
 
Mash up awards(クリスマス会)
Mash up awards(クリスマス会)Mash up awards(クリスマス会)
Mash up awards(クリスマス会)
 
きのこたけのこ戦争
きのこたけのこ戦争きのこたけのこ戦争
きのこたけのこ戦争
 
クリパ用Lt2014
クリパ用Lt2014クリパ用Lt2014
クリパ用Lt2014
 
ポケモン解説
ポケモン解説ポケモン解説
ポケモン解説
 
クリスマス会Lt
クリスマス会Ltクリスマス会Lt
クリスマス会Lt
 
一年ツイッター
一年ツイッター一年ツイッター
一年ツイッター
 
C++班
C++班C++班
C++班
 
C#班
C#班C#班
C#班
 
Web班
Web班Web班
Web班
 
Web 11
Web 11Web 11
Web 11
 
Web 09
Web 09Web 09
Web 09
 
Android班第4回
Android班第4回Android班第4回
Android班第4回
 
Web 10
Web 10Web 10
Web 10
 
OpenSource
OpenSourceOpenSource
OpenSource
 
百合について
百合について百合について
百合について
 
Web 08
Web 08Web 08
Web 08
 

Kürzlich hochgeladen

Kürzlich hochgeladen (12)

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 

第23回目