Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
プログラミングA第1回 Javaの基本
2017年4月10日
東邦大学 金岡 晃
この授業について• 講義科目名称
– プログラミングA– プログラミング演習A
• 英文科目名称– Programming A– Programming Exercise A
• 開講期間– 春学期
• 配当年– 1学年
• 単位数– プログラミングA:2– プログラミング演習 A:2
• 科目必選区分– 必修
• 担当教員– 金岡晃、菊地賢一、古谷立美、木村大輔
• 開講日時– 月曜日3限– 月曜日4限
2017/4/101 プログラミングA
担当と講義資料
• 担当
– 金岡 晃(かなおか あきら)
• E-mail:[email protected]
• 居室:理学部IV号館6階 4621室
– ティーチングアシスタント(TA)
• 作本壮志郎(M1)、菅井琢(M1)
• 講義資料
– 教科書:やさしいJava 第5版
– USBメモリは毎回持参すること
2 2017/4/10 プログラミングA
授業概要
• 授業の目的と学習概要
– コンピュータを用いて計算処理を行うには、プログラムが必要不可欠である。本授業では、プログラムの作成方法を初歩から学び、プログラミングの基礎力を身につけることを目標とする。プログラミング言語としては、広く用いられているJava言語を使用する。
– プログラミングAの授業で習った内容に対して、プログラミング演習を行うことにより、プログラミングの理解を深めることを到達目標とする。
2017/4/103 プログラミングA
評価方法とオフィスアワー
• 評価方法
– プログラミングA、プログラミング演習A 共通
• 平常点:50点
– 出席および中間試験
• 定期試験(期末試験、4クラス合同):50点
– 合計60点以上を合格とする
• オフィスアワー
– オフィスアワーについてはメールで個別に時間を予約するものとする
• 連絡先:[email protected]
2017/4/104 プログラミングA
講義/演習の進め方
• 講義/演習の進め方
– 講義→演習というスタイルで進めます
– 内容やみなさんの進捗度合によって柔軟に変更します
– 授業の最後に課題を出すようにします
• 課題の提出をもって、出席のカウントとします
5
講義
演習
講義
演習
課題
提出
2017/4/10 プログラミングA
授業用Webサイト
• https://www.klab.is.sci.toho-u.ac.jp/classes/
• 金岡が受け持っている講義の資料(この講義以外も)をアップロードしています
• 「プログラミングA」のページも作成しました
• 講義資料をPDF化してすべて載せていきます。
2017/4/106
閲覧方法の詳細はあとで行います
プログラミングA
7
Agenda
• 講義/演習の進め方
• 評価について
• 今回の内容
– プログラムとは?
– プログラムを実行するまで
– 実際にプログラムを作成してみる
– メールを送信してみる
2017/4/10 プログラミングA
プログラムとは
8 2017/4/10 プログラミングA
プログラムとは?
9 2017/4/10 プログラミングA
プログラム
「計算機(コンピュータ)に何かをやらせたい」というときに、その動作を指示するもの
コンピュータへの指示
そのコンピュータに応じた機械語で命令を書き、指示する。
詳しくは秋学期の「コンピュータアーキテクチャ」で学びます
人間が機械語で指示するの?
NO
プログラム言語
10 2017/4/10 プログラミングA
コンピュータと人間を結ぶ、コンピュータに指示するための言語
さまざまな言語
C
JavaC++
C#
VisualBasic
Ruby
Python
Perl
Prolog
FORTRAN
COBOL
PascalSwift
Objective-C
言語処理系
2017/4/10 プログラミングA11
エディタ
ソースプログラム
ソースプログラム
・・・
コンパイラ
コンパイラ
目的プログラム
目的プログラム
リンケージエディタ
実行時ライブラリ
実行プログラム
実行デバッガ
コンパイル 機械語(に近い)ゾーン
我々が作るプログラム
詳しくは3年春学期(選択)の「コンパイラとプログラミング言語」で学べます
• コンパイラを各計算機の環境ごとにつくらないといけない• 目的プログラムは各環境に応じたものを用意しなければならない• 実行プログラムは各環境に応じたものになる
Javaと仮想計算機
2017/4/10 プログラミングA12
エディタ
ソースプログラム
ソースプログラム
・・・
コンパイラ
コンパイラ
目的プログラム
目的プログラム
リンケージエディタ
実行プログラム
コンパイルした環境と同じ計算機環境で実行するようにコンパイルされる
環境に依存しない仮想的に考えられた計算機(バーチャルマシン、仮想計算機)と、仮想計算機用のプログラムを実行可能なソフトを計算機とOSの組ごとに作成すれば、プログラム作成者は1つのプログラムを作るだけで様々な環境でプログラムが実行できる
Java:プログラム作成から実行まで
2017/4/1013
ソースプログラム
バイトコード
コンパイラ
プログラミングA
インタプリタ
実行
****.java というファイル
****.class というファイル
エディタ
2017/4/1014
ソースプログラムの作成時に利用するソフトウェア
Eclipse
秀丸エディタ
Visual Studio
プログラミングA
JCpad
プログラムを見てみよう
• 一番簡単なプログラム
15 2017/4/10 プログラミングA
class HelloWorld{ public static void main(String[] args){
System.out.println(“Hello World!”); }
}
• 動画:mpeg, avi, mp4など• 音楽:mp3, wmvなど• 文書:docx, txt など• スライド:pptxなど• 表:xlsxなど
JCPadの使い方…の前に
16
Windows上のデータ
• データは「ファイル」という単位でコンピュータ内に保存されている。• さまざまなタイプの「ファイル」がある
画像、動画、音楽、文書、スライド、表
区別するためにファイルの名前に「拡張子」を付ける
kanaoka.jpg拡張子
2017/4/10 プログラミングA
JCPadの使い方…の前に
17
ファイルをしまう構造
• 1つのエリアにすべてのファイルを置くと混乱する• 小分けをする
「フォルダ」
フォルダ
• フォルダは入れ物• フォルダの中にファイルを入れる。• フォルダに名前を付ける、とわかりやすい。
学年ごと、授業ごと、用途ごと、ファイル種類ごと……等々
2017/4/10 プログラミングA
JCPadの使い方…の前に
18
エクスプローラ
• ファイルやフォルダの閲覧などの取り扱いをする
2017/4/10 プログラミングA
JCPadの使い方…の前に
2017/4/10 プログラミングA19
スタートボタンから「コンピュータ」を選択
JCPadの使い方…の前に
20
USBメモリを挿す ※初回はしばらく待てばUSBメモリが認識される
2017/4/10 プログラミングA
JCPadの使い方…の前に
2017/4/10 プログラミングA21
ブラウザでWebを見よう
「すべてのプログラム」をクリック
「Internet Explorer」をクリック
JCPadの使い方…の前に
2017/4/10 プログラミングA22
JCPadの使い方…の前に
2017/4/10 プログラミングA23
授業用Webサイトを見よう
ここに
http://www.klab.is.sci.toho-u.ac.jp/classes/と入力し、Enterキーを押そう
JCPadの使い方…の前に
2017/4/10 プログラミングA24
JCPadを使おう
25 2017/4/10 プログラミングA
USBメモリの中身を見る
「リムーバブルディスク」をダブルクリック
JCPadを使おう
26 2017/4/10 プログラミングA
JCPadを起動
「jcpad.dat」をダブルクリック
JCPadを使おう
27 2017/4/10 プログラミングA
ここにプログラムを書いていく
入力してみよう
2017/4/10 プログラミングA28
class HelloWorld{public static void main(String[] args){
System.out.println(“Hello World!”);}
}
プログラムを作ったら
29 2017/4/10 プログラミングA
保存(セーブ)
• なによりもまずセーブ
このアイコンをクリック
保存場所
2017/4/10 プログラミングA30
USBメモリの中のフォルダへ 通常はこのままで良い
ファイルの名前を付ける
2017/4/10 プログラミングA31
「ファイル名」のゾーンに名前を入力
入力が終わったら「保存」を押す
ファイルを保存する
2017/4/10 プログラミングA32
[新規1] だったものがHelloWorldに変わっていることを確認
保存されたファイルをエクスプローラで確認する
2017/4/10 プログラミングA33
プログラムを作ったら
34 2017/4/10 プログラミングA
コンパイル
このアイコンをクリック
コンパイル
2017/4/10 プログラミングA35
成功すると
失敗するとエラーメッセージが出る
コンパイルが成功すると
2017/4/10 プログラミングA36
.classファイルが生成される
実行させてみよう
37 2017/4/10 プログラミングA
コンパイル+実行
このアイコンをクリック
実行すると
2017/4/10 プログラミングA38
練習1
39 2017/4/10 プログラミングA
Hello World!を作ってコンパイル、実行してみよう!
プログラムの中身を見る
40
クラスの宣言
main()メソッドの開始部分
実行されるメソッド
main()メソッドの終了部分
2017/4/10 プログラミングA
メソッド
2017/4/10 プログラミングA41
• 直訳すると方法。• 1つのプログラムの中に、さまざまなメソッドをつくって、それらを有
機的に結合していって1つのプログラムにしていける
たとえば
「画像を画面に出力して、加工して、ファイルに保存する」というプログラムを作りたい!
画面に出力、というメソッド
画像を加工、というメソッド
ファイルに保存、というメソッド
○3つのメソッドを作っておく
メインメソッド
3つのメソッドを順に呼ぶ
クラス名
42 2017/4/10 プログラミングA
ルールがある
• “-”などの記号は使えない• 空白を入れてはいけない• 推奨されないものもある
• 大文字で始まっていない• アンダースコア ( _ ) 使う• 日本語のクラス名
ファイル保存のときはクラス名と同じファイル名
class HelloWorld だったら HelloWorld.java で保存
System.out.println
43 2017/4/10 プログラミングA
「標準出力」に出力する
標準出力? プログラムが作り出したものを出力する出し先にはいろいろな可能性がある
画面ボタン
電灯
フォルダ
コンピュータ
出力の指定を特にしない場合に、最初から決まっているもの、それが標準出力
ここでは「コンソール」と呼ばれる画面
練習2:キーボード入力の読み込み
44 2017/4/10 プログラミングA
下のプログラムを作ってコンパイル、実行してみよう!
実行結果
2017/4/10 プログラミングA45
実行結果
2017/4/10 プログラミングA46
実行結果
2017/4/10 プログラミングA47
メールを送ろう
48 2017/4/10 プログラミングA
まずブラウザを開く「Webメール」をクリック
メールを送ろう
2017/4/10 プログラミングA49
WebMailシステムにログイン
メールを送ろう
2017/4/10 プログラミングA50
ログイン後の画面
※注:画面は教員用のものなので学生用は細部が異なる可能性があります
メールを送ろう
2017/4/10 プログラミングA51
メールを作成「メール作成」をクリック
メールを送ろう
2017/4/10 プログラミングA52
メール作成画面
メールを送ろう
2017/4/10 プログラミングA53
メール作成画面
メールを送ろう
2017/4/10 プログラミングA54
ファイルを添付
「参照」をクリック
メールを送ろう
2017/4/10 プログラミングA55
添付するファイルを選択
メールを送ろう
2017/4/10 プログラミングA56
メールを送ろう
2017/4/10 プログラミングA57
「メール送信」をクリック
メールを送ろう
2017/4/10 プログラミングA58
送信完了
課題:ソースプログラムのメール添付と送信
59 2017/4/10 プログラミングA
今日作った2つのプログラムをメールに添付して金岡に送ろう