Transcript プログラミング実習(Java)
Slide 1
プログラミング実習(Java)
グラフィクス処理とGUIプログラミング
講師:坂口 利裕(横浜市立大学)
Slide 2
自己紹介
氏名
本務先
横浜市立大学
専門分野
坂口利裕
社会工学(都市・地域計画,都市解析)
その他は...
後ほどホームページで
2008.08.14~15
プログラミング実習(Java)
2
Slide 3
はじめに
成績評価
「実習」なので出席することが大前提
欠席は1時限まで
出欠のチェック
1日目:1回(この後)
2日目:レポートもどきの自己診断票の提出で代替
授業の進め方
テキストの記載順にスライド(PowerPoint)による解説+実習
1時間に1度は休憩
テキストはあえて分冊にしているので相互補完的に利用
スライド資料はWeb上にも掲載
各自での作業の際は体調に合わせて随時
質問は積極的に
2008.08.14~15
面接授業の利点を有効活用
プログラミング実習(Java)
3
Slide 4
「プログラミング実習(Java)」で学ぶこと
プログラミング体験者を対象
Java言語の基礎・オブジェクト指向プログラミングの概
念の理解
GUIを備えたアプリケーション作成
グラフィクス処理を備えたアプリケーション作成
Java言語による実用アプリケーション作成のための基
礎知識の習得
例題と演習による実習
まず体験-「習うより慣れよ」
既存のプログラムの改良・拡張による理解
まず自身で考えよう
他の受講生とのディスカッションや質問で不足分を補う
2008.08.14~15
プログラミング実習(Java)
4
Slide 5
第1日の目標
Javaプログラムの実行手順を知る
Javaの構文になじむ
Javaのグラフィクス機能を知る
JavaによるGUIの表現方法を知る
(テキストp.40~第3章の終わりまで)
2008.08.14~15
プログラミング実習(Java)
5
Slide 6
第1章
Javaによるオブジェクト指向プログラミング
構造化プログラミング
プログラムの部品化
オブジェクト指向
手続き重視型
イベント駆動型
はじめに「クラス」ありき
属性→(インスタンス)変数
機能→メソッド
2008.08.14~15
プログラミング実習(Java)
6
Slide 7
オブジェクト指向
第1章
手続き重視型から
第2章
手続きをパッケージ化
第3章
構造化プログラミング
第4章
部品をパッケージ化
2008.08.14~15
機能単位に部品化
イベント駆動型へ
第5章
手続きの抽象化
データとは独立
属性と機能を不可分なものとして抽象化
部品の振舞いは部品ごとに書き下す
プログラミング実習(Java)
7
Slide 8
Java言語の特徴
第1章
第2章
Sun Microsystems社が開発し普及に努め
ている言語
文法の基本は,C,C++に類似
第3章
第4章
第5章
2008.08.14~15
変数宣言や計算表現などはほぼ同じ
制御構造(if,for,while)もほぼ同じ
「クラス」概念によるデータ中心(オブジェクト指
向)の言語
グラフィクス処理が標準で可能
ソース互換,バイナリ互換でもある
個人ベースの開発環境は無償配布
プログラミング実習(Java)
8
Slide 9
Javaにおける
アプリケーションとアプレット
第1章
アプリケーション
第2章
第3章
アプレット
第4章
第5章
2008.08.14~15
CUIプログラミングは比較的容易
GUIプログラミングはやや難
他のアプリケーション内(Webブラウザなど)で
動作することを前提とした小さなプログラム
GUIを前提としたプログラミングが比較的容易
アプレットで学んだ技法はアプリケーション開発
にも適用可能
プログラミング実習(Java)
9
Slide 10
Javaアプレットの特徴
第1章
第2章
第3章
Webブラウザで動作することが前提
呼出し用のHTMLファイルが必要
ひとつのHTMLファイル内でいくつでも呼
び出し可能
ネットワーク経由で実行可能
第4章
第5章
2008.08.14~15
プログラミング実習(Java)
10
Slide 11
Javaアプレットの観察(1)
第1章
第2章
第3章
第4章
第5章
2008.08.14~15
授業用ホームページ
各自のID/パスワードでログオン
Internet Explorerを起動
アドレスバーに
http://sakkun.cc.yokohama-cu.ac.jp/
を入力
⇒「2005年度担当授業」
⇒「プログラミング実習(Java)」へ
プログラミング実習(Java)
11
Slide 12
Javaアプレットの観察(2)
第1章
Javaアプレット・サンプル
それぞれ実行してみる
ソースを見ながら特徴・雰囲気をつかむ
第2章
テキストの第Ⅱ部を活用
自分の知っている言語と比較
第3章
第4章
第5章
2008.08.14~15
Sunのデモンストレーション
Javaの適用範囲をつかむ
プログラミング実習(Java)
12
Slide 13
サンプル教材のセットアップ
第1章
第2章
第3章
第4章
第5章
2008.08.14~15
テキストp.20~21も参照
プログラム例のセットアップ をクリック
[上記の場所から実行]に切り替え[OK]
セキュリティ警告には[実行する(はい)
(OK)]で応答
保存先[z:\]であることを確認して[OK]
Internet Explorerを閉じて終了
プログラミング実習(Java)
13
Slide 14
第2章
Javaによるグラフィクスプログラミング
Javaのプログラミングツール
Microsoft Studio .NET 2003のVisual J#
Sun MicrosystemsのSDK(JDK)
グラフィクスの基礎
グラフィクスの基礎
描画メソッド
Javaプログラムの制御構造
2008.08.14~15
C(C++)に酷似
プログラミング実習(Java)
14
Slide 15
ソース互換
第1章
ソース
プログラム
各OS・ハードウェア
の環境下で再コン
パイルが必要
第2章
第3章
第4章
第5章
2008.08.14~15
Windows用
コンパイラ
MacOS用
コンパイラ
Windows用
プログラム
OS
ハード
ウェア
Windows
DOS/V
Linux用
コンパイラ
MacOS用
プログラム
互
換
性
な
し
MacOS
Macintosh
プログラミング実習(Java)
Linux用
プログラム
互
換
性
な
し
Linux
DOS/V
15
Slide 16
バイナリ互換
第1章
ソース
プログラム
第2章
(Windows用)
Javaコンパイラ
VM=Virtual Machine
OSの一部として動作するよ
うに作られた擬似的ハード
ウェア(実態はソフトウェア)
第3章
第4章
OS
実行
プログラム
特定の環境でコン
パイルされたプロ
グラムであっても
他のマシン上で実
行可能
Windows+JavaVM
MacOS+JavaVM
Linux+JavaVM
DOS/V
Macintosh
DOS/V
第5章
ハード
ウェア
2008.08.14~15
プログラミング実習(Java)
16
Slide 17
グラフィックスの基礎
第1章
原理・基本事項
第2章
第3章
第4章
光の点(pixel)の集まりで画面が構成されてい
る
画面を表すメモリー(VRAM)に情報を書き込む
ビデオ制御用のチップがVRAMの内容に応じて
映像信号に変換
座標系(左上が原点,右向き,下向き),色情報
(RGB)
第5章
2008.08.14~15
プログラミング実習(Java)
17
Slide 18
画面の大きさのいろいろ
第1章
第2章
第3章
大きさの違い
色の違い
第4章
第5章
2008.08.14~15
VGA(640x480),SVGA(800x600),
XGA(1024x768)
3ビット(8),4ビット(16),8ビット(256),16
ビット(約6万5千),24ビット(1600万),32
ビット(??)
プログラミング実習(Java)
18
Slide 19
プログラミング言語による制御
第1章
第2章
国際規格はあるにはある(ライブラリ
の規約)
第3章
第4章
第5章
2008.08.14~15
GKS,Phigsなど
プログラミング言語としての規格
BASICの描画命令など
Java言語
(Javaスクリプトとは別物)
文法ではなく標準のクラス・ライブラリ
プログラミング実習(Java)
19
Slide 20
Java言語によるグラフィクス処理
第1章
第2章
第3章
アプレットによる場合
ソースプログラムを作る(~.java)
コンパイルする(javac ~.java)
表示用のHTMLファイルを作る
( ~.html)
第4章
第5章
HTMLファイルをWebブラウザで閲覧
2008.08.14~15
プログラミング実習(Java)
グラフィクス処理とGUIプログラミング
講師:坂口 利裕(横浜市立大学)
Slide 2
自己紹介
氏名
本務先
横浜市立大学
専門分野
坂口利裕
社会工学(都市・地域計画,都市解析)
その他は...
後ほどホームページで
2008.08.14~15
プログラミング実習(Java)
2
Slide 3
はじめに
成績評価
「実習」なので出席することが大前提
欠席は1時限まで
出欠のチェック
1日目:1回(この後)
2日目:レポートもどきの自己診断票の提出で代替
授業の進め方
テキストの記載順にスライド(PowerPoint)による解説+実習
1時間に1度は休憩
テキストはあえて分冊にしているので相互補完的に利用
スライド資料はWeb上にも掲載
各自での作業の際は体調に合わせて随時
質問は積極的に
2008.08.14~15
面接授業の利点を有効活用
プログラミング実習(Java)
3
Slide 4
「プログラミング実習(Java)」で学ぶこと
プログラミング体験者を対象
Java言語の基礎・オブジェクト指向プログラミングの概
念の理解
GUIを備えたアプリケーション作成
グラフィクス処理を備えたアプリケーション作成
Java言語による実用アプリケーション作成のための基
礎知識の習得
例題と演習による実習
まず体験-「習うより慣れよ」
既存のプログラムの改良・拡張による理解
まず自身で考えよう
他の受講生とのディスカッションや質問で不足分を補う
2008.08.14~15
プログラミング実習(Java)
4
Slide 5
第1日の目標
Javaプログラムの実行手順を知る
Javaの構文になじむ
Javaのグラフィクス機能を知る
JavaによるGUIの表現方法を知る
(テキストp.40~第3章の終わりまで)
2008.08.14~15
プログラミング実習(Java)
5
Slide 6
第1章
Javaによるオブジェクト指向プログラミング
構造化プログラミング
プログラムの部品化
オブジェクト指向
手続き重視型
イベント駆動型
はじめに「クラス」ありき
属性→(インスタンス)変数
機能→メソッド
2008.08.14~15
プログラミング実習(Java)
6
Slide 7
オブジェクト指向
第1章
手続き重視型から
第2章
手続きをパッケージ化
第3章
構造化プログラミング
第4章
部品をパッケージ化
2008.08.14~15
機能単位に部品化
イベント駆動型へ
第5章
手続きの抽象化
データとは独立
属性と機能を不可分なものとして抽象化
部品の振舞いは部品ごとに書き下す
プログラミング実習(Java)
7
Slide 8
Java言語の特徴
第1章
第2章
Sun Microsystems社が開発し普及に努め
ている言語
文法の基本は,C,C++に類似
第3章
第4章
第5章
2008.08.14~15
変数宣言や計算表現などはほぼ同じ
制御構造(if,for,while)もほぼ同じ
「クラス」概念によるデータ中心(オブジェクト指
向)の言語
グラフィクス処理が標準で可能
ソース互換,バイナリ互換でもある
個人ベースの開発環境は無償配布
プログラミング実習(Java)
8
Slide 9
Javaにおける
アプリケーションとアプレット
第1章
アプリケーション
第2章
第3章
アプレット
第4章
第5章
2008.08.14~15
CUIプログラミングは比較的容易
GUIプログラミングはやや難
他のアプリケーション内(Webブラウザなど)で
動作することを前提とした小さなプログラム
GUIを前提としたプログラミングが比較的容易
アプレットで学んだ技法はアプリケーション開発
にも適用可能
プログラミング実習(Java)
9
Slide 10
Javaアプレットの特徴
第1章
第2章
第3章
Webブラウザで動作することが前提
呼出し用のHTMLファイルが必要
ひとつのHTMLファイル内でいくつでも呼
び出し可能
ネットワーク経由で実行可能
第4章
第5章
2008.08.14~15
プログラミング実習(Java)
10
Slide 11
Javaアプレットの観察(1)
第1章
第2章
第3章
第4章
第5章
2008.08.14~15
授業用ホームページ
各自のID/パスワードでログオン
Internet Explorerを起動
アドレスバーに
http://sakkun.cc.yokohama-cu.ac.jp/
を入力
⇒「2005年度担当授業」
⇒「プログラミング実習(Java)」へ
プログラミング実習(Java)
11
Slide 12
Javaアプレットの観察(2)
第1章
Javaアプレット・サンプル
それぞれ実行してみる
ソースを見ながら特徴・雰囲気をつかむ
第2章
テキストの第Ⅱ部を活用
自分の知っている言語と比較
第3章
第4章
第5章
2008.08.14~15
Sunのデモンストレーション
Javaの適用範囲をつかむ
プログラミング実習(Java)
12
Slide 13
サンプル教材のセットアップ
第1章
第2章
第3章
第4章
第5章
2008.08.14~15
テキストp.20~21も参照
プログラム例のセットアップ をクリック
[上記の場所から実行]に切り替え[OK]
セキュリティ警告には[実行する(はい)
(OK)]で応答
保存先[z:\]であることを確認して[OK]
Internet Explorerを閉じて終了
プログラミング実習(Java)
13
Slide 14
第2章
Javaによるグラフィクスプログラミング
Javaのプログラミングツール
Microsoft Studio .NET 2003のVisual J#
Sun MicrosystemsのSDK(JDK)
グラフィクスの基礎
グラフィクスの基礎
描画メソッド
Javaプログラムの制御構造
2008.08.14~15
C(C++)に酷似
プログラミング実習(Java)
14
Slide 15
ソース互換
第1章
ソース
プログラム
各OS・ハードウェア
の環境下で再コン
パイルが必要
第2章
第3章
第4章
第5章
2008.08.14~15
Windows用
コンパイラ
MacOS用
コンパイラ
Windows用
プログラム
OS
ハード
ウェア
Windows
DOS/V
Linux用
コンパイラ
MacOS用
プログラム
互
換
性
な
し
MacOS
Macintosh
プログラミング実習(Java)
Linux用
プログラム
互
換
性
な
し
Linux
DOS/V
15
Slide 16
バイナリ互換
第1章
ソース
プログラム
第2章
(Windows用)
Javaコンパイラ
VM=Virtual Machine
OSの一部として動作するよ
うに作られた擬似的ハード
ウェア(実態はソフトウェア)
第3章
第4章
OS
実行
プログラム
特定の環境でコン
パイルされたプロ
グラムであっても
他のマシン上で実
行可能
Windows+JavaVM
MacOS+JavaVM
Linux+JavaVM
DOS/V
Macintosh
DOS/V
第5章
ハード
ウェア
2008.08.14~15
プログラミング実習(Java)
16
Slide 17
グラフィックスの基礎
第1章
原理・基本事項
第2章
第3章
第4章
光の点(pixel)の集まりで画面が構成されてい
る
画面を表すメモリー(VRAM)に情報を書き込む
ビデオ制御用のチップがVRAMの内容に応じて
映像信号に変換
座標系(左上が原点,右向き,下向き),色情報
(RGB)
第5章
2008.08.14~15
プログラミング実習(Java)
17
Slide 18
画面の大きさのいろいろ
第1章
第2章
第3章
大きさの違い
色の違い
第4章
第5章
2008.08.14~15
VGA(640x480),SVGA(800x600),
XGA(1024x768)
3ビット(8),4ビット(16),8ビット(256),16
ビット(約6万5千),24ビット(1600万),32
ビット(??)
プログラミング実習(Java)
18
Slide 19
プログラミング言語による制御
第1章
第2章
国際規格はあるにはある(ライブラリ
の規約)
第3章
第4章
第5章
2008.08.14~15
GKS,Phigsなど
プログラミング言語としての規格
BASICの描画命令など
Java言語
(Javaスクリプトとは別物)
文法ではなく標準のクラス・ライブラリ
プログラミング実習(Java)
19
Slide 20
Java言語によるグラフィクス処理
第1章
第2章
第3章
アプレットによる場合
ソースプログラムを作る(~.java)
コンパイルする(javac ~.java)
表示用のHTMLファイルを作る
( ~.html)
第4章
第5章
HTMLファイルをWebブラウザで閲覧
2008.08.14~15