プログラミング初級(java) - waseda universityjavaプログラムファイルは? java txt:...

41
Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 1 プログラミング初級(Java) 1人がコンピュータに命令するには? (プログラムの基本原理と書き方、実行方法) 白銀 純子

Upload: others

Post on 10-Apr-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: プログラミング初級(Java) - Waseda UniversityJavaプログラムファイルは? java txt: テキストファイル html: Webページのファイル docx: Microsoft Wordファイル

Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 1

プログラミング初級(Java)

第1回人がコンピュータに命令するには?

(プログラムの基本原理と書き方、実行方法)

白銀純子

Page 2: プログラミング初級(Java) - Waseda UniversityJavaプログラムファイルは? java txt: テキストファイル html: Webページのファイル docx: Microsoft Wordファイル

第1回の内容オリエンテーション

ファイルの扱い方

コマンドプロンプトの使い方

プログラミングの概略

Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 2

Page 3: プログラミング初級(Java) - Waseda UniversityJavaプログラムファイルは? java txt: テキストファイル html: Webページのファイル docx: Microsoft Wordファイル

授業目標人がコンピュータに命令をし、コンピュータが動作する際の基礎原理を理解すること

コンピュータに命令をする際の基本的な文法を理解すること

自分で命令を組み立てることができるようになること

Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 3

Page 4: プログラミング初級(Java) - Waseda UniversityJavaプログラムファイルは? java txt: テキストファイル html: Webページのファイル docx: Microsoft Wordファイル

プログラミングを習得するためには? 自分で試行錯誤すること

1. 参考書などに載っているプログラムを写して実行してみる

2. そのプログラムの一部を変更して実行してみる

Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 4

この繰り返しが一番重要&効果的!!

Page 5: プログラミング初級(Java) - Waseda UniversityJavaプログラムファイルは? java txt: テキストファイル html: Webページのファイル docx: Microsoft Wordファイル

学習上の注意事項講義中だけでなく、手を動かすこと

講義内容を次の講義までに復習し、練習問題を必ずやっておくこと

疑問点やわからないことをそのままにしないこと

必ず次の講義までに解決するように!

授業を休んだときは、次に授業までに、必ず授業のページの資料を見て内容を勉強しておくこと

特にプログラミングの授業は、1回休むと全くついていけなくなることもあるので要注意!

わからないことは聞くこと

Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 5

Page 6: プログラミング初級(Java) - Waseda UniversityJavaプログラムファイルは? java txt: テキストファイル html: Webページのファイル docx: Microsoft Wordファイル

連絡先と資料置き場連絡先メールアドレス: [email protected]

※質問は、メールで

資料置き場: http://www.aoni.waseda.jp/junkos/Java-1st/

※講義中に見せる資料を掲載

欠席したときは、必ずここの資料で勉強をしておくこと

勉強をせず、「先週休んだので...」という質問は受け付けません

Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 6

Page 7: プログラミング初級(Java) - Waseda UniversityJavaプログラムファイルは? java txt: テキストファイル html: Webページのファイル docx: Microsoft Wordファイル

成績評価とレポート成績評価平常点: 30%, レポート: 70%

平常点

毎回の授業時に、練習問題の解答を提出

レポート

2~3回程度を予定

Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 7

Page 8: プログラミング初級(Java) - Waseda UniversityJavaプログラムファイルは? java txt: テキストファイル html: Webページのファイル docx: Microsoft Wordファイル

参考書基礎講座 Java, 白銀純子, 毎日コミュニケーションズ, 2010

やさしいJava,高橋/麻奈,ソフトバンククリエイティブ, 2016

Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 8

Page 9: プログラミング初級(Java) - Waseda UniversityJavaプログラムファイルは? java txt: テキストファイル html: Webページのファイル docx: Microsoft Wordファイル

ファイルの扱い方

Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 9

Page 10: プログラミング初級(Java) - Waseda UniversityJavaプログラムファイルは? java txt: テキストファイル html: Webページのファイル docx: Microsoft Wordファイル

ファイルとフォルダファイル: 文書や絵などを書いた紙

1つ1つのファイルは名前を付けて区別

フォルダ: ファイルを整理する箱

Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 10

Page 11: プログラミング初級(Java) - Waseda UniversityJavaプログラムファイルは? java txt: テキストファイル html: Webページのファイル docx: Microsoft Wordファイル

拡張子のおはなし拡張子: ファイル名の最後の「.」以降の部分

拡張子が何であるかで、ファイルの種類を区別

Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 11

abc.txt def.html ghi.png

拡張子 拡張子 拡張子

Javaプログラムファイルは? java

txt: テキストファイル html: Webページのファイル

docx: Microsoft Wordファイル png, jpg, gif:静止画のファイル

Page 12: プログラミング初級(Java) - Waseda UniversityJavaプログラムファイルは? java txt: テキストファイル html: Webページのファイル docx: Microsoft Wordファイル

コマンドプロンプトの使い方

Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 12

Page 13: プログラミング初級(Java) - Waseda UniversityJavaプログラムファイルは? java txt: テキストファイル html: Webページのファイル docx: Microsoft Wordファイル

「コマンドプロンプト」って何?ソフトウェアの名前(+α)を入力することで、ソフトウェアを使うための道具

普通、ソフトウェアを使うときには、そのソフトウェアのアイコンをダブルクリックすると、ソフトウェアが起動

コマンドプロンプトでは、ソフトウェアの名前(+α)を入力し、「Enter」キーを押すと、ソフトウェアが起動

この授業で使うコマンドプロンプト:

「スタート」→「Windowsアクセサリ」→「Command Prompt」

Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 13

「コマンド」と呼ぶ

Page 14: プログラミング初級(Java) - Waseda UniversityJavaプログラムファイルは? java txt: テキストファイル html: Webページのファイル docx: Microsoft Wordファイル

コマンド入力の基本(1)コマンドは、「プロンプト」の後ろに半角英数で入力

Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 14

プロンプトコマンドを入力する領域

Page 15: プログラミング初級(Java) - Waseda UniversityJavaプログラムファイルは? java txt: テキストファイル html: Webページのファイル docx: Microsoft Wordファイル

コマンド入力の基本(2)コマンドの形

プロンプトは、「%」や「$」と略して書かれることも

Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 15

コマンド名 引数

必ず「コマンド名」を最初に入力し、その後に「引数」を入力 「コマンド名」と「引数」の間にはスペースが1つ以上必要 「引数」は1つとは限らない 「引数」が複数ある場合には、引数と引数の間にもスペースが1つ以上必要

「% abc」とかかれている場合には、「%」の後から入力すること(「%」は入力しない!)

例えば、コマンド名「cd」、引数「java」の場合: 「cd java」と入力

「コマンド名」がソフトウェアの名前に相当

Page 16: プログラミング初級(Java) - Waseda UniversityJavaプログラムファイルは? java txt: テキストファイル html: Webページのファイル docx: Microsoft Wordファイル

コマンド入力の基本(3)コマンドプロンプトは寡黙

Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 16

入力したコマンドが、成功して終わったとき:

※自分でプロンプトを書いたりしないこと(プロンプトを自分で書いても、何も起こらない)

入力したコマンドが、失敗したとき:

何も言わずにプロンプトを表示する

コマンドの実行に時間がかかるとき:

エラーメッセージを表示してプロンプトを表示する

利用者に何か聞きたいとき

メッセージを表示してプロンプトを表示しない

プロンプトを表示しない

Page 17: プログラミング初級(Java) - Waseda UniversityJavaプログラムファイルは? java txt: テキストファイル html: Webページのファイル docx: Microsoft Wordファイル

プログラミング

Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 17

Page 18: プログラミング初級(Java) - Waseda UniversityJavaプログラムファイルは? java txt: テキストファイル html: Webページのファイル docx: Microsoft Wordファイル

外国人に手紙を書く場合どうする??相手がわかる言葉で手紙を書く

相手が理解できる言葉を覚えるのは大変!!

コンピュータには、手紙(命令書)で命令

コンピュータが理解できる言葉で手紙(命令書)を書く

Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 18

私は...I am...

Page 19: プログラミング初級(Java) - Waseda UniversityJavaプログラムファイルは? java txt: テキストファイル html: Webページのファイル docx: Microsoft Wordファイル

外国人に手紙を書く場合どうする??相手がわかる言葉で手紙を書く

相手が理解できる言葉を覚えるのは大変!!

コンピュータには、手紙(命令書)で命令

コンピュータが理解できる言葉で手紙(命令書)を書く

Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 19

私は...I am...%$&**!+#?...

コンピュータには手紙で命令

Page 20: プログラミング初級(Java) - Waseda UniversityJavaプログラムファイルは? java txt: テキストファイル html: Webページのファイル docx: Microsoft Wordファイル

コンピュータが理解できる言葉は?コンピュータが理解できる言葉: 機械語

コンピュータは、0と1の羅列しか理解できない

Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 20

コンピュータの中にたくさんのスイッチがあり、どのスイッチがONでどのスイッチがOFFになっているかの組み合わせ

人間が理解するのは大変

01101010001...

命令書を人間が理解できる言葉で書き、それを訳したものをコンピュータに渡す

= 命令書は、機械語(0と1だけで書かれたもの)になっている必要

Page 21: プログラミング初級(Java) - Waseda UniversityJavaプログラムファイルは? java txt: テキストファイル html: Webページのファイル docx: Microsoft Wordファイル

手紙を訳すには?手紙を翻訳する

手紙を通訳する

Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 21

日本語 英語翻訳者

通訳

受取人

日本語 受取人

コンピュータへの命令書も同じ!

Page 22: プログラミング初級(Java) - Waseda UniversityJavaプログラムファイルは? java txt: テキストファイル html: Webページのファイル docx: Microsoft Wordファイル

命令書を翻訳コンパイラ: 命令書を最初から最後まで機械語に翻訳するためのソフトウェア

Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 22

Step 2. 手紙(英語)Step 2. 手紙(英語)

Step 1. 手紙(日本語)Step 1. 手紙(日本語)

Step 3. 手紙(英語)

外国人日本人

翻訳者

Page 23: プログラミング初級(Java) - Waseda UniversityJavaプログラムファイルは? java txt: テキストファイル html: Webページのファイル docx: Microsoft Wordファイル

命令書を翻訳コンパイラ: 命令書を最初から最後まで機械語に翻訳するためのソフトウェア

Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 23

外国人日本人 Step 2. 手紙(英語)Step 2. 手紙(英語)

Step 1. 手紙(日本語)Step 1. 手紙(日本語)

Step 3. 手紙(英語)

翻訳者

命令書を全て翻訳して相手に渡す

コンパイラ

人 コンピュータ

Step 3. 命令書(機械語)

Step 1. 命令書

Step 2. 命令書(機械語)

「コンパイル」する

Page 24: プログラミング初級(Java) - Waseda UniversityJavaプログラムファイルは? java txt: テキストファイル html: Webページのファイル docx: Microsoft Wordファイル

命令書を通訳インタプリタ: 命令書を最初から1行ずつ読んで機械語に通訳するためのソフトウェア

Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 24

Step 1. 手紙(日本語) Step 2. 手紙から一行ずつ(英語)Step 1. 手紙(日本語)

外国人日本人 通訳

Page 25: プログラミング初級(Java) - Waseda UniversityJavaプログラムファイルは? java txt: テキストファイル html: Webページのファイル docx: Microsoft Wordファイル

命令書を通訳インタプリタ: 命令書を最初から1行ずつ読んで機械語に通訳するためのソフトウェア

Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 25

Step 2. 手紙から一行ずつ(英語)Step 1. 手紙(日本語)

外国人日本人

Step 2. 命令書から一行ずつ(機械語)Step 1. 命令書

通訳インタプリタ

命令書を一行ずつ翻訳して伝える

人 コンピュータ

Page 26: プログラミング初級(Java) - Waseda UniversityJavaプログラムファイルは? java txt: テキストファイル html: Webページのファイル docx: Microsoft Wordファイル

命令書って何語で書くの??コンパイラ & インタプリタ

Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 26

人間が話す言葉は理解できない

日本語, 英語, ドイツ語,

中国語, 韓国語, フランス語......

プログラミング言語

同じ文言でも複数通りの解釈が存在(あいまい)

Page 27: プログラミング初級(Java) - Waseda UniversityJavaプログラムファイルは? java txt: テキストファイル html: Webページのファイル docx: Microsoft Wordファイル

プログラミング言語とは?コンピュータに命令を伝えるための言語

誰がいつ解釈しても意味が同じ

文法規則を厳密に定義

Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 27

私、ハンバーグ!私はハンバーグを作る?(料理中)

私はハンバーグを食べる?(レストラン)

「白い」がどちらにかかるか厳密に定義する必要

コンパイラ・インタプリタは状況判断は不可能

白い花模様の服花模様が白い?(「花模様」にかかる)

服が白い?(「服」にかかる)

Page 28: プログラミング初級(Java) - Waseda UniversityJavaプログラムファイルは? java txt: テキストファイル html: Webページのファイル docx: Microsoft Wordファイル

用語手紙(命令書)

= ソースコード(プログラム)

ソースコードを作成すること= プログラミング

実行可能プログラム= コンピュータが直接実行可能な命令書

機械語に翻訳された命令書

プログラム

「ソースコード」の意味と、「実行可能プログラム」の意味と、どちらもで利用

Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 28

Page 29: プログラミング初級(Java) - Waseda UniversityJavaプログラムファイルは? java txt: テキストファイル html: Webページのファイル docx: Microsoft Wordファイル

コンパイラとインタプリタの利点&欠点コンパイラ = 命令書を一度に全て翻訳

利点:

コンピュータが命令書を実行する速度が速い

一度翻訳すれば何度でも実行できる

欠点:

命令書に文法的な間違いがあると、実行できない

インタプリタ = 命令書を一行ずつ通訳利点:

命令書に間違いがあっても途中まで実行できる

欠点:

コンピュータが命令書を実行する速度が遅い

実行のたびにインタプリタが通訳する

Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 29

Page 30: プログラミング初級(Java) - Waseda UniversityJavaプログラムファイルは? java txt: テキストファイル html: Webページのファイル docx: Microsoft Wordファイル

Javaって何?プログラミング言語の1つ

プログラミング言語の種類はたくさんあり

それぞれのプログラミング言語で得手不得手あり

コンピュータやOSに依存せず、実行可能(Write Once, Run Anywhere)

Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 30

機械語のプログラムは通常、OSが異なると実行できない

※OS: オペレーティングシステム(基本ソフト, WindowsやMacOSなど)

Page 31: プログラミング初級(Java) - Waseda UniversityJavaプログラムファイルは? java txt: テキストファイル html: Webページのファイル docx: Microsoft Wordファイル

Javaのしくみここまでの話では…

Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 31

コンピュータ

Step 1. ソースコード

Step 2. 機械語のプログラム

Step 3. 機械語のプログラム

コンパイラ

Page 32: プログラミング初級(Java) - Waseda UniversityJavaプログラムファイルは? java txt: テキストファイル html: Webページのファイル docx: Microsoft Wordファイル

Javaのしくみここまでの話では…

Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 32

Step 2. 機械語のプログラム

コンパイラ

コンピュータ

Step 1. ソースコード

Step 3. 機械語のプログラム

Page 33: プログラミング初級(Java) - Waseda UniversityJavaプログラムファイルは? java txt: テキストファイル html: Webページのファイル docx: Microsoft Wordファイル

JavaのしくみJavaのしくみは?

Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 33

Step 2. 機械語のプログラム

コンパイラ

Step 4. 機械語

コンピュータ

Step 1. ソースコード

Step 3. Javaバイトコード

JavaVM(Java Virtual Machine)

コンパイラ

インタプリタ

Step 2. Javaバイトコード

Javaコンパイラ

Page 34: プログラミング初級(Java) - Waseda UniversityJavaプログラムファイルは? java txt: テキストファイル html: Webページのファイル docx: Microsoft Wordファイル

Javaプログラムの実行方法Step 0: コマンドプロンプトのカレントフォルダを、Javaファイルの保存場所にあわせる

この作業は、コマンドプロンプトを起動したときに1度だけ行う

Step1: Meryなどでソースコードを作成する

ファイル名は、必ず拡張子を「.java」とすること

Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 34

Page 35: プログラミング初級(Java) - Waseda UniversityJavaプログラムファイルは? java txt: テキストファイル html: Webページのファイル docx: Microsoft Wordファイル

Javaプログラムの実行方法Step2: ソースコードをコンパイルする

(コマンド名: javac, 引数: ソースコードのファイル名)

Step3: JavaバイトコードをJavaVMで実行する(コマンド名: java, 引数: 拡張子なしのファイル名)

Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 35

% javac ファイル名.java

「ファイル名.class」というファイルが作成される

% java ファイル名拡張子は不要

Page 36: プログラミング初級(Java) - Waseda UniversityJavaプログラムファイルは? java txt: テキストファイル html: Webページのファイル docx: Microsoft Wordファイル

カレントフォルダとは?カレントフォルダ: コマンドプロンプトでの、現在の作業フォルダ

コマンドプロンプトでは、カレントフォルダの絶対パスがプロンプトして表示

Javaプログラムのコンパイルをするには...

コマンドプロンプトのカレントフォルダを、Javaプログラムを保存してあるフォルダに設定する必要

Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 36

Page 37: プログラミング初級(Java) - Waseda UniversityJavaプログラムファイルは? java txt: テキストファイル html: Webページのファイル docx: Microsoft Wordファイル

カレントフォルダの設定設定するためのコマンド(コマンドプロンプトに入力)

1. カレントフォルダのドライブ名を入力し、Enterキーを押す

2. 「cd フォルダ名」と入力し、Enterキーを押す

この2. を必要なだけ繰り返す

スペルミスなどの間違いをした場合は、入力しなおし

入力したコマンドは消せないので、新しく入力

Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 42

ドライブ名

Page 38: プログラミング初級(Java) - Waseda UniversityJavaプログラムファイルは? java txt: テキストファイル html: Webページのファイル docx: Microsoft Wordファイル

カレントフォルダの設定(2)設定方法例1: 「D:」ドライブの中にJavaファイルを保存した場合

D:

と入力してEnterキーを押す

設定方法例2: 「F:」ドライブの中の「Java」の中の「Practice」の中にJavaファイルを保存した場合

1. F:

と入力してEnterキーを押す

2. cd Java

と入力してEnterキーを押す

3. cd Practice

と入力してEnterキーを押す

Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 43

Page 39: プログラミング初級(Java) - Waseda UniversityJavaプログラムファイルは? java txt: テキストファイル html: Webページのファイル docx: Microsoft Wordファイル

ちょっとやってみよう!(1)1. 授業のページから2つのファイルをダウンロードする

Average.java

Greeting.java

2. コマンドプロンプトで、Javaファイルの保存場所をカレントフォルダに設定する

1. でJavaファイルをどこに保存したかは必ず確認しておくこと!

Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 44

Page 40: プログラミング初級(Java) - Waseda UniversityJavaプログラムファイルは? java txt: テキストファイル html: Webページのファイル docx: Microsoft Wordファイル

ちょっとやってみよう!(2)3. ダウンロードしたファイルをコンパイルする

Addition.javaのコンパイル: javac Average.java

Greeting.javaのコンパイル: javac Greeting.java

4. コンパイルしたプログラムを実行する

Addition.javaの実行: java Average

Greeting.javaの実行: java Greeting

Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 45

Page 41: プログラミング初級(Java) - Waseda UniversityJavaプログラムファイルは? java txt: テキストファイル html: Webページのファイル docx: Microsoft Wordファイル

出席確認Course N@viから、第1回授業の出席確認のアンケートをすること

Course N@viからアンケートが提出できない人は、メールで送ること

宛先: [email protected]

設問1:授業に求めることや、自己紹介など

設問2: プログラミング経験の有無

設問3: 設問2で「ある」という回答の人、経験のあるプログラミング言語をすべて

※メールの本文に、氏名と学籍番号を必ず書いておくこと

Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 46