[小西ホームページ]   [目次・索引]   [次の授業]

コンピュータIIB(Javaプログラミング入門)第1回

目次
1.1 教員の紹介
1.2 シラバス
1.2.1 内容
1.2.2 到達目標
1.2.3 スケジュール
1.2.4 教室外の学習方法
1.2.5 教材(テキスト)
1.2.6 教材(参考書等)
1.2.7 成績評価方法
1.2.8 成績評価基準
1.2.9 備考
1.3 履修者の抽選
1.4 コンピュータとプログラム
1.4.1 パソコンの仕組み
1.4.2 パソコンが動くとは
1.4.3 プログラミングを学ぶ利点
1.5 プログラミング言語Java
1.5.1 プログラミング言語とは
1.5.2 Javaとは
1.5.3 情報処理センターのJava環境
1.5.4 自宅で自習するには
1.6 授業の準備
1.6.1 システムの更新
1.6.2 授業用フォルダの作成
1.7 プログラムの動かし方
1.7.1 全体の手順
1.7.2 プログラムの入力と保存
1.7.3 コンパイル
1.7.4 プログラムの実行
1.7.5 プログラムのエラー
1.8 アンケート1
1.9 参考文献
索引
CPU   Java   javacコマンド   javaコマンド   JDK   RAM   記憶装置   コンパイル   実行する   主記憶装置   ソフトウェア   デバッグ   ハードウェア   バイトコード   プログラマ   プログラミング   プログラミング言語   プログラム   補助記憶装置   命令  

1.1 教員の紹介

名前
小西 善二郎(こにし ぜんじろう)
肩書き
東京女子大学非常勤講師
連絡先
konishi@cis.twcu.ac.jp

1.2 シラバス

1.2.1 内容

本講義では、プログラミング言語Javaを用いてプログラミングの基本を学ぶ。 プログラムの制御構造と配列などのデータ型を理解し、簡単なプログラムを作成することを目標とする。 また、アプレットなどについても触れる。

1.2.2 到達目標

  1. プログラミングの基本を理解する。
  2. 簡単なプログラムを作成できるようになる。

1.2.3 スケジュール

  1. コンピュータとプログラム
  2. アプレット
    アプレットに関する課題を出すので、そのプログラムを作成すること。
  3. 変数と式(1)
    変数と式に関する課題を出すので、そのプログラムを作成すること。
  4. 変数と式(2)
    変数と式に関する課題を出すので、そのプログラムを作成すること。
  5. 条件文(1)
    条件文に関する課題を出すので、そのプログラムを作成すること。
  6. 条件文(2)
    条件文に関する課題を出すので、そのプログラムを作成すること。
  7. 繰返し文(1)
    繰返し文に関する課題を出すので、そのプログラムを作成すること。
  8. 繰返し文(2)
    繰返し文に関する課題を出すので、そのプログラムを作成すること。
  9. 配列(1)
    配列に関する課題を出すので、そのプログラムを作成すること。
  10. 配列(2)
    配列に関する課題を出すので、そのプログラムを作成すること。
  11. 手続きと関数(1)
    手続きと関数に関する課題を出すので、そのプログラムを作成すること。
  12. 手続きと関数(2)
    手続きと関数に関する課題を出すので、そのプログラムを作成すること。
  13. レコード
    レコードに関する課題を出すので、そのプログラムを作成すること。
  14. 文字と文字列
    文字と文字列に関する課題を出すので、そのプログラムを作成すること。
  15. まとめ

1.2.4 教室外の学習方法

「スケジュール」の欄を参照

1.2.5 教材(テキスト)

http://www.cis.twcu.ac.jp/~konishi/index-j.html

1.2.6 教材(参考書等)

授業内容に応じて参考資料を紹介する。

1.2.7 成績評価方法

毎回の課題80%と試験20%で成績を評価する。

1.2.8 成績評価基準

以下の基準にしたがって成績を評価する。

  1. 毎回の課題については、正しいプログラムを作成しているか。
  2. 試験については、プログラミングの基本を理解しているか。

1.2.9 備考

課題のプログラムはすべて提出すること。

試験は最後の授業の時間に実施する。

メール・アドレス: konishi@cis.twcu.ac.jp


1.3 履修者の抽選

コンピュータの台数の関係により、履修希望者が40名を越えた場合は抽選を行います。 抽選用紙には、時間割番号(現代教養学部はJJ202B, 文理学部と現代文化学部はJ202B)を記入してください。


1.4 コンピュータとプログラム

1.4.1 パソコンの仕組み

この授業の内容は、一言で言うと、プログラミングです。 プログラミングprogramming )とは、プログラムを作成することです。 それでは、プログラムとは一体何かと言いたくなるでしょう。 これを説明するには、パソコンの仕組みを理解する必要があります。

パソコンの部品の中で、最も重要なのがCPUです。 CPUCentral Processing Unit )は、中央処理装置と訳され、加減乗除などの演算をしたり、他の部品を制御したりします。

次に重要なのが、記憶装置です。 記憶装置memory unit )は、文字通り、情報を記憶する装置です。 記憶装置は、主記憶装置と補助記憶装置に分類されます。

主記憶装置main memory unit )は、単にメモリと呼ばれたり、 RAMRandom Access Memory )と呼ばれたりします。 主記憶装置の中の情報は、CPUから直接読み書きできますが、電源を切ってしまうと、主記憶装置の中の情報は消滅します。

一方、 補助記憶装置auxiliary memory unit )とは、具体的にはハードディスク、フロッピーディスク、CD-ROM, DVD-ROM, USBメモリなどのことです。 補助記憶装置の中の情報は、CPUから間接的にしか読み書きできませんが、電源を切っても、補助記憶装置の中の情報は保持されます。

なお、パソコンには、CPUや記憶装置の他にも、キーボード、マウス、ディスプレイなどの部品があります。 これらをまとめて、 ハードウェアhardware )と呼びます。

1.4.2 パソコンが動くとは

CPUは演算や制御を行う装置ですが、どんな演算をするかや何を制御するかは決まっていません。 CPUが何をするかは、人間が命令を与えると決まります。 命令instruction )とは、CPUに行わせる演算や制御を示す情報です。

人間は、CPUに対して、演算や制御の詳細を命令の列として与えます。 すると、CPUはその命令の列に従って、具体的な演算や制御を行うのです。 この命令の列が プログラムprogram )です。 CPUがプログラムに従って演算や制御を行うことを、プログラムを 実行するexecute )と言います。 パソコンが動くとは、CPUがプログラムを実行することです。

以上をまとめると、人間がプログラムを作成してパソコンに与えると、パソコンはそのプログラムに従って動くというわけです。 つまり、プログラミングができるようになれば、パソコンを思い通りに動かせるようになります。

CPUにプログラムを実行させるには、CPUが直接読み書きできる主記憶装置に、そのプログラムを格納する必要があります。 しかし、主記憶装置は電源が切れると、その中の情報は消滅します。 そこで、主記憶装置と補助記憶装置を次のように使い分けます。

パソコンの電源が入る前、プログラムは、ハードディスクやCD-ROMなどの補助記憶装置に格納されています。 パソコンの電源が入ると、必要に応じて、プログラムは主記憶装置にコピーされます。 そして、CPUは主記憶装置の中のプログラムを実行します。 パソコンの電源を入れてから使えるようになるまで時間がかかるのは、補助記憶装置から主記憶装置にプログラムをコピーしているからです。

なお、プログラムの集合体は ソフトウェアsoftware )と呼ばれます。 この言葉は、ハードウェア(元々の意味は金物)の反対という意味で作られた言葉です。

また、ソフトウェアという言葉はソフトと略されることが多く、ワープロ・ソフトや表計算ソフトのように使われます。 ワープロ・ソフトも表計算ソフトも、もともとは誰か(実際は技術者集団)が作ったプログラムなわけです。

1.4.3 プログラミングを学ぶ利点

この授業ではプログラミングを学ぶわけですが、勉強すると何がよいのかについて説明しておきます。

1. プログラマになれる。

プログラマprogrammer )とは、プログラムを作成する人のことです。 この授業より難しい勉強が必要になりますが、プログラマとしての職が得られるかもしれません。

2. パソコンをより便利に使える。

たとえ10行程度のプログラムでも、道具として役に立つことがあります。 自分でプログラムを作成し、それを自分の道具にすることで、パソコンをより便利に使うことができます。

3. パソコンについての理解が深まる。

プログラミングの経験があれば、パソコンがどのように動いているのか、ある程度理解ができます。 パソコンにトラブルが発生しても、適切に対処できるかもしれません。


1.5 プログラミング言語Java

1.5.1 プログラミング言語とは

プログラミング言語programming language )とは、プログラムを作成するときに使う言語です。 プログラマは、何らかのプログラミング言語を選択し、その文法に従ってプログラムを作成します。 作成したプログラムをパソコンに与えると、パソコンはそのプログラムを実行します。 プログラミング言語によっては、人間が理解できるプログラムをCPUが理解できるプログラムに翻訳するという作業を行います。

1.5.2 Javaとは

Java とは、1995年にSun Microsystems社から発表されたプログラミング言語です。 Javaは、ネットワークやGUI(Graphical User Interface)など、現代的な機能が充実しています。 特に、アプレットとよばれる、ホームページにプログラムを埋め込む技術は、Javaが一気に有名になった切っ掛けでもあります。 また、Javaは基本的にマルチプラットホームであり、一度プログラムを書けば、それはWindowsでもMac OS XでもLinuxでもSolarisでも動きます。 Javaの言語体系は比較的整理されているので、プログラミングの入門にも適しています。

1.5.3 情報処理センターのJava環境

一般的に、プログラムを作成するには、プログラム開発用ソフトウェア(言語処理系、開発環境などとよばれる)を用意する必要があります。 プログラマは、開発用ソフトウェアに備わっている機能を利用して、プログラムを実行できるものにしたり( コンパイルcompile )、プログラムの間違いを見つけたり( デバッグdebug )します。

Javaの開発用ソフトウェアには、いくつか種類があります。 この授業では、Mac OS X標準の、 JDK (Java SE Development Kit)を用います。 プログラミングの学習が目的なら、JDKの提供する機能で十分でしょう。 JDKには、いくつかのバージョンがあります。 情報処理センターのシステムには、JDK 5.0がインストールされていので、授業ではそれを用います。

1.5.4 自宅で自習するには

自宅のパソコンにJDKをインストールすれば、自宅でこの授業の自習ができます。 CD-ROM付きのJavaの本を買い、その本に従ってインストールするのが簡単です。 本を買いたくなければ、インターネット経由で入手することもできます。 例として、Windows 2000/XP/Vista/7が動いているPCに、最新版のJDK(JDK 6)をインストールする方法を説明します。

はじめに、Administratorとしてログオンします。

次に、JDK 6のインストール用ファイルを手に入れます。 URL

http://java.sun.com/javase/ja/6/download.html

から「JDK 6 Update (番号)」の「JDKダウンロード」ボタンをクリックし、「Platform」メニューでWindowsを選択し、「Download」ボタンをクリックします。 ユーザ名とパスワードを求められますが、「Skip this Step」をクリックするとダウンロードが始まります。 ファイルの大きさは約76Mバイトです。

ダウンロードが終了したら、ダウンロードしたファイルを実行(アイコンをダブルクリック)します。 質問に答えていくと、フォルダC:\Program Files\Java\jdk1.6.0_(番号)が作られ、必要なファイルやフォルダがその中にコピーされます。

続いて、普段のユーザとしてログオンし直します。

最後に、フォルダC:\Program Files\Java\jdk1.6.0_(番号)\binにパスを通します。 「コントロールパネル」→「システム」→「詳細」または「詳細設定」→「環境変数」と選択し、ユーザー環境変数PATHの値にC:\Program Files\Java\jdk1.6.0_(番号)\binを追加します。 (パスが複数ある場合はセミコロンで区切ります。) これでインストールは完了です。


1.6 授業の準備

1.6.1 システムの更新

2007年9月に、情報処理センターのシステムが更新されました。 Mac OS Xであることは変わりませんが、一部のアプリケーションがバージョン・アップしています。

この授業に関係するアプリケーションは次のようなものです。

表 1.1  授業に関係するアプリケーション
アプリケーション 更新前 更新後
ターミナル・ソフト ターミナル ターミナル
テキスト・エディタ Jedit 4 Jedit X
ウェブ・ブラウザ Safari Safari
メール・ソフト Apple Mail Safari+GMail

「ターミナル」とSafariは、Mac OS Xに付属しているソフトウェアです。 Jeditは、Artman 21が開発したソフトウェアです。 GMailは、Googleが提供しているメール・サービスです。

Jeditの起動の仕方は以下の通りです。

  1. DockのFinderアイコンをクリック。
  2. サイドバーの「アプリケーション」をクリック。
  3. 「Jedit X Folder」をダブルクリック。
  4. 「Jedit X」をダブルクリック。

Jeditを終了するには次のようにします。

  1. タイトルバーの赤ボタンをクリック。
  2. メニューバーで、「Jedit X」→「Jedit Xを終了」とクリック。

なお、Jeditの字が小さくて読みにくい場合は、次のようにしてください。

  1. ウィンドウをクリック。
  2. メニューバーで、「書式」→「フォント」→「大きく」とクリック。

「ターミナル」の起動の仕方は以下の通りです。 もし、入力モードが日本語(メニューバーに「あ」)なら、これを英字(「A」)に切り替えておきます。

  1. DockのFinderアイコンをクリック。
  2. サイドバーの「アプリケーション」をクリック。
  3. 「ユーティリティ」をダブルクリック。
  4. 「ターミナル」をダブルクリック。

「ターミナル」を終了するには次のようにします。

  1. exit と入力。
  2. タイトルバーの赤ボタンをクリック。
  3. メニューバーで、「ターミナル」→「ターミナルを終了」とクリック。

なお、「ターミナル」の字が小さくて読みにくい場合は、次のようにしてください。

  1. ウィンドウをクリック。
  2. メニューバーで、「表示」→「大きく」とクリック。

1.6.2 授業用フォルダの作成

Javaでプログラムを作成すると、たくさんのファイルを扱うことになります。 そこで、授業用のフォルダcomp2bを作り、そのフォルダの中で作業を行うことにします。 再び「ターミナル」を起動して、以下のように入力してください。

asiaa1:~ b08a001$ mkdir comp2b
asiaa1:~ b08a001$ cd comp2b
asiaa1:~/comp2b b08a001$

ここで、mkdirはディレクトリを作成するコマンドです(MaKe DIRectory)。 また、cdはカレント・ディレクトリを変更するコマンドです(Change Directory)。 なお、ディレクトリとフォルダは同じ意味です。


1.7 プログラムの動かし方

1.7.1 全体の手順

今日の授業では、Javaのプログラムが与えられたとき、そのプログラムをどうやって動かすかについて説明します。 今日はプログラムの内容を気にする必要はありません。

Javaプログラムの作成から実行までの手順は以下の通りです。

  1. エディタ(Jeditなど)を用いてプログラムを入力する。
  2. 入力したプログラムをファイルに保存する。
  3. Javaコンパイラ(javac)を用いてプログラムからバイトコードを生成する。
  4. Javaインタプリタ(java)を用いてバイトコードを実行する。
プログラムの実行までの流れ
図 1.1  プログラムの実行までの流れ

「コンパイラ」、「インタプリタ」、「バイトコード」などの用語に耳慣れないかもしれません。 ある程度Javaに慣れたら説明しますので、今は気にしないでください。

1.7.2 プログラムの入力と保存

ここで、再びJeditを起動します。 そして、次のプログラムをそっくりそのまま入力します。 アルファベットの大文字を小文字に変えたりしないでください。 /*...*/は入力する必要はありません。

/*  1*/ class GoodAfternoon {
/*  2*/     public static void main (String[] args) {
/*  3*/         System.out.println("Good afternoon!");
/*  4*/     }
/*  5*/ }

次に、このプログラムをファイルに保存します。 Javaのプログラムを保存するときには、ファイル名の拡張子を 〜.java にする必要があります。 今日は、ファイル名を GoodAfternoon.java とします。

新規に作成したプログラムをファイルに保存するには次のようにします。

  1. ウィンドウをクリック。
  2. メニューバーで、「ファイル」→「別名で保存...」とクリック。
  3. 「名前」欄に、ファイル名(今日は GoodAfternoon.java)を入力。
  4. 「名前」欄の右の三角ボタンを数回クリックし、詳細表示に変更。
  5. ホーム→「comp2b」とクリック。
  6. 「エンコーディング」メニューで「Unicode(UTF-8)」を選択。
  7. 「改行タイプ」メニューで「Unix(LF)」を選択。
  8. 「保存」をクリック。

練習のため、タイトルバーの赤ボタンをクリックしてウィンドウを閉じます。 そして、再びこのファイルを開くことにします。

以前作成したファイルを開くには次のようにします。

  1. もしDockにJeditアイコンがなければ、上記の要領でJeditを起動。
  2. DockのJeditアイコンをクリック。
  3. メニューバーで、「ファイル」→「開く...」とクリック。
  4. ホーム→「comp2b」→ファイル名とクリック。
  5. 「開く」をクリック。

なお、更新したプログラムをファイルに保存するには次のようにします。

  1. ウィンドウをクリック。
  2. メニューバーで、「ファイル」→「保存」とクリック。

1.7.3 コンパイル

プログラムをファイルに保存したら、次に「ターミナル」で javacコマンド を実行します。 プログラムは GoodAfternoon.java に保存されていますので、 javac GoodAfternoon.java と入力してください。 プログラムが正確に入力できていれば、GoodAfternoon.class というファイルが生成されます。

asiaa1:~/comp2b b08a001$ ls
GoodAfternoon.java
asiaa1:~/comp2b b08a001$ javac GoodAfternoon.java
asiaa1:~/comp2b b08a001$ ls
GoodAfternoon.class   GoodAfternoon.java
asiaa1:~/comp2b b08a001$

ここで、lsはファイルをリスト・アップするコマンドです(LiSt)。

もし「エラー1個」のようなメッセージが表示されたら、どこかに入力ミスがあります。 ファイル GoodAfternoon.java を見直して、入力ミスを正し、保存して、もう一度 javac コマンドを実行してください。 エラーメッセージの見方は後述します。

javac コマンドは、〜.java ファイルをもとに 〜.class ファイルを生成します。 この 〜.class ファイルの内容が、 バイトコードbytecode ) です。 バイトコードは、もとのプログラムとは似ても似つかない、特殊な文字の並びです。

1.7.4 プログラムの実行

最後に、「ターミナル」で javaコマンド を実行します。 バイトコードが GoodAfternoon.class に格納されているので、 java GoodAfternoon と入力してください。 (ファイル名から .class を取り除きます。)

asiaa1:~/comp2b b08a001$ java GoodAfternoon
Good afternoon!
asiaa1:~/comp2b b08a001$

実は、もとのプログラムは、Good afternoon! と出力するものです。 javaコマンドで、確かに実行できたことが分かります。

1.7.5 プログラムのエラー

javacコマンドは、プログラム中におかしな点を見つけると、バイトコード・ファイルの生成を止め、エラーメッセージを出力します。

例えば、GoodAfternoon.java で、3行目

        System.out.println("Good afternoon!");

        Systemout.println("Good afternoon!");

と間違ったとします。 javacコマンドを実行すると、

asiaa1:~/comp2b b08a001$ javac GoodAfternoon.java
GoodAfternoon.java:3: シンボルを見つけられません。
シンボル: 変数 Systemout
場所    : GoodAfternoon の クラス
        Systemout.println("Good afternoon!");
        ^
エラー 1 個
asiaa1:~/comp2b b08a001$

というメッセージが表示されます。 これは、3行目の Systemout(記号 ^ の指す点)がおかしいという指摘です。

javacコマンドは必ずしも本当の間違いを指摘するとは限りませんが、エラーメッセージを参考にしてプログラムを直してください。 エラーがなくならない限り、バイトコード・ファイルを生成できないので、プログラムは動かせません。


1.8 アンケート1

履修者の予備知識を確認するため、アンケートを行います。 以下の質問に答え、回答をメールで提出してください。 差出人は学内のメール・アドレス(b08a001@cis.twcu.ac.jpなど)とし、宛先はkonishi@cis.twcu.ac.jpとします。 メールの本文には、学生番号、氏名、科目名、授業日(4月9日)を明記してください。

  1. 表計算ソフト(Excelなど)で、数式を利用したことがあるか答えてください。
  2. パソコンのプログラムを作成したことがあるか答えてください。
  3. 数式 1 + 2 + ... + 100 を計算するプログラムが作成できるか答えてください。
  4. 授業内容に関して、何か希望がありましたら答えてください。

1.9 参考文献


[小西ホームページ]   [目次・索引]   [次の授業]

2010年4月9日更新
小西 善二郎 <konishi@cis.twcu.ac.jp>
Copyright (C) 2010 Zenjiro Konishi. All rights reserved.