Transcript java

プログラミングIII演習
第1回目
担当者
部屋
難波
情761
E-mail
nanba@
hiroshima-cu.ac.jp
井上
TA
斉藤
2
概要
• プログラミングIIIで習ったJava言語を実際に
使って理解を深める
3
内容(予定)
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Javaプログラムの入力と実行
リテラル,変数,式,メソッド
制御構造
配列
クラスの利用
ファイル入出力
休み
クラスの基本
クラスの機能
継承
インターフェース
パッケージ
例外処理
最終演習課題
プログラミングIIIと連動
4
演習の流れ
練習問題
演習課題
レポート提出
5
教科書と参考書
• 高橋 麻奈「やさしいJava」(ソフトバンククリ
エイティブ)
• ジョゼフ・オニール「独習Java」(翔泳社)
6
単位取得要件
• 全回出席
– 無断遅刻と無断退席は欠席扱い
• 全レポート提出
– 〆切を守りすべて提出し受理されること
– 再提出の指示があったものは〆切を守り、すべて
再提出し合格すること
※レポートの提出は IT’s classを使用(1,2回目は
紙での提出)
7
お願い
• 参考書の例題やサンプルプログラムを作成し
て、実際に動かしてみよう!
• 分からないことは何でも聞くようにしよう!
8
学部演習室の使い方
• 学部演習室システムホームページ
http://www.cl.info.hiroshima-cu.ac.jp/
※プリンタの無駄使いに注意!
※計算機に不具合が生じたらすぐに連絡を!
10
第1回目の内容
•
•
•
•
Javaプログラミングについての説明
練習問題
タートルグラフィックの説明
演習課題の説明
11
Javaのプログラミング
プログラム作成
Emacs等テキストエディタ
コンパイル
デバッグ
実行
12
Javaプログラムの実行
コンパイル
ソース
プログラム
javac
拡張子は.java
バイト
コード
実行
java
拡張子は.class
13
javac
• Java プログラミング言語で記述されたソース
ファイルを読み取り、バイトコードのクラスファ
イルにコンパイル
14
java
• バイトコードを仮想計算機上で実行するため
のコマンド
15
サンプルプログラム(Hello.java)
public class Hello {
public static void main(String[] args) {
System.out.println("Hello!");
}
}
画面にHello!を表示するプログラム
16
実行までの流れ
ソースファイル(テキスト形式)
Hello.java
コンパイルする
javac Hello.java
クラスファイル(バイトコード)
Hello.class
実行する
java Hello
17
練習問題
• サンプルプログラム(Hello.java)を作成し、実
行し、画面に“Hello!”と表示されることを確認
せよ。
18
タートルグラフィックス
• Turtleオブジェクト(亀)を動かし、線画を描画
19
タートルグラフィックス
• 「前進」「回転」「移動」など、単純な命令でい
ろいろな図形を描画
20
タートルグラフィックスの
サンプルプログラム
• サンプルプログラムを動かしてみよう
>
>
>
>
wget http://165.242.101.30/~nanba/teaching/Turtle.java
wget http://165.242.101.30/~nanba/teaching/SampleMove.java
javac SampleMove.java Turtle.java
java SampleMove
SampleMove.java タートルグラフィックのサンプルプログラム
Turtle.java タートルグラフィックスを扱うためのクラス群
21
クラス、オブジェクト、
メソッド
Turtleクラスから
1つのTurtleのオブジェクトtを生成
クラスは設計書
Turtle t = new Turtle();
オブジェクトは実態
t.move(100,200)
(100,200)へ移動
メソッドは命令
22
SampleMove.javaの説明
public class SampleMove {
public static void main(String[] args){
Turtle t = new Turtle();
t.move(100,200);
t.penDown();
t.go(100);
t.rotate(120);
t.go(100);
t.rotate(120);
t.go(100);
}
}
①クラスTurtleのオブジェク
トtを1つ生成
②タートルを座標(100,200)
へ移動
③ペンを下に下げて描画の
準備
④タートルを100前進
⑤タートルを120°回転
⑥タートルを100前進
⑧タートルを100前進
⑦タートルを120°回転
23
メソッドの説明(1)
• move(int x, int y)
– タートルを座標(x,y)に移動
• go(int distance)
– タートルをdistance分前進
• rotate(int r)
– タートルをr°回転
24
メソッドの説明(2)
• penDown()
– ペンを下げる
• penUp()
– ペンを上げる
25
座標系
(0,0)
x
360°
y
26
演習課題1(必修)
• サンプルプログラム(Hello.java)を拡張して、
画面に“Hello! "自分の名前"”と表示するプ
ログラムを作成せよ。
– ファイル名はHelloMyname.javaにすること
– 自分の名前は二重引用符「"」で囲むこと
27
演習課題2(余力がある人)
• タートルグラフィックスでタートルに正方形を描画させるプロ
グラム(Square.java)を作成せよ。
public class Square {
public static void main(String[] args){
Turtle t = new Turtle();
t.move(100,200);
t.penDown();
(A)
}
}
28
演習課題2のヒント
• (A)の部分を考えよ。
• 正方形を描画するためには、亀は何度の回
転角で回転させればよいか?
29
レポートの提出について
• 提出期限 今週金曜日12:00
• 提出方法 情761のレポートボックス
• レポートの形式
– 名前、クラス、学籍番号を表紙に付けること
– 演習課題で作成したプログラムリストのみ
30