プログラミング初級(java) - waseda universityjavaプログラムファイルは? java txt:...
TRANSCRIPT
Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 1
プログラミング初級(Java)
第1回人がコンピュータに命令するには?
(プログラムの基本原理と書き方、実行方法)
白銀純子
第1回の内容オリエンテーション
ファイルの扱い方
コマンドプロンプトの使い方
プログラミングの概略
Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 2
授業目標人がコンピュータに命令をし、コンピュータが動作する際の基礎原理を理解すること
コンピュータに命令をする際の基本的な文法を理解すること
自分で命令を組み立てることができるようになること
Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 3
プログラミングを習得するためには? 自分で試行錯誤すること
1. 参考書などに載っているプログラムを写して実行してみる
2. そのプログラムの一部を変更して実行してみる
Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 4
この繰り返しが一番重要&効果的!!
学習上の注意事項講義中だけでなく、手を動かすこと
講義内容を次の講義までに復習し、練習問題を必ずやっておくこと
疑問点やわからないことをそのままにしないこと
必ず次の講義までに解決するように!
授業を休んだときは、次に授業までに、必ず授業のページの資料を見て内容を勉強しておくこと
特にプログラミングの授業は、1回休むと全くついていけなくなることもあるので要注意!
わからないことは聞くこと
Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 5
連絡先と資料置き場連絡先メールアドレス: [email protected]
※質問は、メールで
資料置き場: http://www.aoni.waseda.jp/junkos/Java-1st/
※講義中に見せる資料を掲載
欠席したときは、必ずここの資料で勉強をしておくこと
勉強をせず、「先週休んだので...」という質問は受け付けません
Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 6
成績評価とレポート成績評価平常点: 30%, レポート: 70%
平常点
毎回の授業時に、練習問題の解答を提出
レポート
2~3回程度を予定
Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 7
参考書基礎講座 Java, 白銀純子, 毎日コミュニケーションズ, 2010
やさしいJava,高橋/麻奈,ソフトバンククリエイティブ, 2016
Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 8
ファイルの扱い方
Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 9
ファイルとフォルダファイル: 文書や絵などを書いた紙
1つ1つのファイルは名前を付けて区別
フォルダ: ファイルを整理する箱
Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 10
拡張子のおはなし拡張子: ファイル名の最後の「.」以降の部分
拡張子が何であるかで、ファイルの種類を区別
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:静止画のファイル
コマンドプロンプトの使い方
Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 12
「コマンドプロンプト」って何?ソフトウェアの名前(+α)を入力することで、ソフトウェアを使うための道具
普通、ソフトウェアを使うときには、そのソフトウェアのアイコンをダブルクリックすると、ソフトウェアが起動
コマンドプロンプトでは、ソフトウェアの名前(+α)を入力し、「Enter」キーを押すと、ソフトウェアが起動
この授業で使うコマンドプロンプト:
「スタート」→「Windowsアクセサリ」→「Command Prompt」
Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 13
「コマンド」と呼ぶ
コマンド入力の基本(1)コマンドは、「プロンプト」の後ろに半角英数で入力
Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 14
プロンプトコマンドを入力する領域
コマンド入力の基本(2)コマンドの形
プロンプトは、「%」や「$」と略して書かれることも
Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 15
コマンド名 引数
必ず「コマンド名」を最初に入力し、その後に「引数」を入力 「コマンド名」と「引数」の間にはスペースが1つ以上必要 「引数」は1つとは限らない 「引数」が複数ある場合には、引数と引数の間にもスペースが1つ以上必要
「% abc」とかかれている場合には、「%」の後から入力すること(「%」は入力しない!)
例えば、コマンド名「cd」、引数「java」の場合: 「cd java」と入力
「コマンド名」がソフトウェアの名前に相当
コマンド入力の基本(3)コマンドプロンプトは寡黙
Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 16
入力したコマンドが、成功して終わったとき:
※自分でプロンプトを書いたりしないこと(プロンプトを自分で書いても、何も起こらない)
入力したコマンドが、失敗したとき:
何も言わずにプロンプトを表示する
コマンドの実行に時間がかかるとき:
エラーメッセージを表示してプロンプトを表示する
利用者に何か聞きたいとき
メッセージを表示してプロンプトを表示しない
プロンプトを表示しない
プログラミング
Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 17
外国人に手紙を書く場合どうする??相手がわかる言葉で手紙を書く
相手が理解できる言葉を覚えるのは大変!!
コンピュータには、手紙(命令書)で命令
コンピュータが理解できる言葉で手紙(命令書)を書く
Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 18
私は...I am...
外国人に手紙を書く場合どうする??相手がわかる言葉で手紙を書く
相手が理解できる言葉を覚えるのは大変!!
コンピュータには、手紙(命令書)で命令
コンピュータが理解できる言葉で手紙(命令書)を書く
Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 19
私は...I am...%$&**!+#?...
コンピュータには手紙で命令
コンピュータが理解できる言葉は?コンピュータが理解できる言葉: 機械語
コンピュータは、0と1の羅列しか理解できない
Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 20
コンピュータの中にたくさんのスイッチがあり、どのスイッチがONでどのスイッチがOFFになっているかの組み合わせ
人間が理解するのは大変
01101010001...
命令書を人間が理解できる言葉で書き、それを訳したものをコンピュータに渡す
= 命令書は、機械語(0と1だけで書かれたもの)になっている必要
手紙を訳すには?手紙を翻訳する
手紙を通訳する
Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 21
日本語 英語翻訳者
通訳
受取人
日本語 受取人
コンピュータへの命令書も同じ!
命令書を翻訳コンパイラ: 命令書を最初から最後まで機械語に翻訳するためのソフトウェア
Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 22
Step 2. 手紙(英語)Step 2. 手紙(英語)
Step 1. 手紙(日本語)Step 1. 手紙(日本語)
Step 3. 手紙(英語)
外国人日本人
翻訳者
命令書を翻訳コンパイラ: 命令書を最初から最後まで機械語に翻訳するためのソフトウェア
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. 命令書(機械語)
「コンパイル」する
命令書を通訳インタプリタ: 命令書を最初から1行ずつ読んで機械語に通訳するためのソフトウェア
Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 24
Step 1. 手紙(日本語) Step 2. 手紙から一行ずつ(英語)Step 1. 手紙(日本語)
外国人日本人 通訳
命令書を通訳インタプリタ: 命令書を最初から1行ずつ読んで機械語に通訳するためのソフトウェア
Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 25
Step 2. 手紙から一行ずつ(英語)Step 1. 手紙(日本語)
外国人日本人
Step 2. 命令書から一行ずつ(機械語)Step 1. 命令書
通訳インタプリタ
命令書を一行ずつ翻訳して伝える
人 コンピュータ
命令書って何語で書くの??コンパイラ & インタプリタ
Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 26
人間が話す言葉は理解できない
日本語, 英語, ドイツ語,
中国語, 韓国語, フランス語......
プログラミング言語
同じ文言でも複数通りの解釈が存在(あいまい)
プログラミング言語とは?コンピュータに命令を伝えるための言語
誰がいつ解釈しても意味が同じ
文法規則を厳密に定義
Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 27
私、ハンバーグ!私はハンバーグを作る?(料理中)
私はハンバーグを食べる?(レストラン)
「白い」がどちらにかかるか厳密に定義する必要
コンパイラ・インタプリタは状況判断は不可能
白い花模様の服花模様が白い?(「花模様」にかかる)
服が白い?(「服」にかかる)
用語手紙(命令書)
= ソースコード(プログラム)
ソースコードを作成すること= プログラミング
実行可能プログラム= コンピュータが直接実行可能な命令書
機械語に翻訳された命令書
プログラム
「ソースコード」の意味と、「実行可能プログラム」の意味と、どちらもで利用
Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 28
コンパイラとインタプリタの利点&欠点コンパイラ = 命令書を一度に全て翻訳
利点:
コンピュータが命令書を実行する速度が速い
一度翻訳すれば何度でも実行できる
欠点:
命令書に文法的な間違いがあると、実行できない
インタプリタ = 命令書を一行ずつ通訳利点:
命令書に間違いがあっても途中まで実行できる
欠点:
コンピュータが命令書を実行する速度が遅い
実行のたびにインタプリタが通訳する
Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 29
Javaって何?プログラミング言語の1つ
プログラミング言語の種類はたくさんあり
それぞれのプログラミング言語で得手不得手あり
コンピュータやOSに依存せず、実行可能(Write Once, Run Anywhere)
Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 30
機械語のプログラムは通常、OSが異なると実行できない
※OS: オペレーティングシステム(基本ソフト, WindowsやMacOSなど)
Javaのしくみここまでの話では…
Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 31
コンピュータ
人
Step 1. ソースコード
Step 2. 機械語のプログラム
Step 3. 機械語のプログラム
コンパイラ
Javaのしくみここまでの話では…
Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 32
Step 2. 機械語のプログラム
コンパイラ
コンピュータ
人
Step 1. ソースコード
Step 3. 機械語のプログラム
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コンパイラ
Javaプログラムの実行方法Step 0: コマンドプロンプトのカレントフォルダを、Javaファイルの保存場所にあわせる
この作業は、コマンドプロンプトを起動したときに1度だけ行う
Step1: Meryなどでソースコードを作成する
ファイル名は、必ず拡張子を「.java」とすること
Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 34
Javaプログラムの実行方法Step2: ソースコードをコンパイルする
(コマンド名: javac, 引数: ソースコードのファイル名)
Step3: JavaバイトコードをJavaVMで実行する(コマンド名: java, 引数: 拡張子なしのファイル名)
Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 35
% javac ファイル名.java
「ファイル名.class」というファイルが作成される
% java ファイル名拡張子は不要
カレントフォルダとは?カレントフォルダ: コマンドプロンプトでの、現在の作業フォルダ
コマンドプロンプトでは、カレントフォルダの絶対パスがプロンプトして表示
Javaプログラムのコンパイルをするには...
コマンドプロンプトのカレントフォルダを、Javaプログラムを保存してあるフォルダに設定する必要
Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 36
カレントフォルダの設定設定するためのコマンド(コマンドプロンプトに入力)
1. カレントフォルダのドライブ名を入力し、Enterキーを押す
2. 「cd フォルダ名」と入力し、Enterキーを押す
この2. を必要なだけ繰り返す
スペルミスなどの間違いをした場合は、入力しなおし
入力したコマンドは消せないので、新しく入力
Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 42
ドライブ名
カレントフォルダの設定(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
ちょっとやってみよう!(1)1. 授業のページから2つのファイルをダウンロードする
Average.java
Greeting.java
2. コマンドプロンプトで、Javaファイルの保存場所をカレントフォルダに設定する
1. でJavaファイルをどこに保存したかは必ず確認しておくこと!
Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 44
ちょっとやってみよう!(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
出席確認Course N@viから、第1回授業の出席確認のアンケートをすること
Course N@viからアンケートが提出できない人は、メールで送ること
設問1:授業に求めることや、自己紹介など
設問2: プログラミング経験の有無
設問3: 設問2で「ある」という回答の人、経験のあるプログラミング言語をすべて
※メールの本文に、氏名と学籍番号を必ず書いておくこと
Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 46