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

情報処理IIIA(Javaプログラミング入門)第1回

目次 索引
1.1 教員の紹介
1.2 注意事項
1.3 シラバスの説明
1.3.1 授業目標・概要
1.3.2 授業スケジュール
1.3.3 受講生への要望、履修のポイント、留意事項等
1.3.4 教科書
1.3.5 参考書等
1.3.6 成績評価の方法
1.4 Javaプログラミング環境
1.4.1 情報処理センターのJava環境
1.4.2 自宅で自習するには
1.5 プログラムの動かし方
1.5.1 全体の手順
1.5.2 プログラムの入力と保存
1.5.3 コンパイル
1.5.4 実行
1.5.5 プログラムのエラー
1.6 アンケート1

1.1 教員の紹介

名前
小西 善二郎(こにし ぜんじろう)
所属
早稲田大学ソフトウェア生産技術研究所
連絡先
konishi@twcu.ac.jp

1.2 注意事項

端末不足
今年度のこの授業は、事前の予想をはるかに上回る履修者が集まりました。 授業中、端末が不足することが予想されます。 満席のときは、見学することになりますが、友達同士で端末を融通しあうなどの工夫をしてください。
シラバス変更
履修者の学年・学科を見ますと、半数以上が他の授業でプログラミングを学んだ経験を持つようです。 どの程度理解しているかを確かめるため、今日の授業の最後にアンケートを行ないます。 この結果によっては、以下のシラバスを変更するかもしれません。
授業用ディレクトリ
今日の授業では、各自のホームディレクトリに授業用のディレクトリを作成してもらいます。 そして、次回以降、演習で作ったファイルをそこに置くことにします。 レポート採点の都合上、授業用ディレクトリの中を調べることがありますので、そこに個人的なファイルを置かないでください。

1.3 シラバスの説明

1.3.1 授業目標・概要

この授業では、Java言語を用いて、プログラミングの基礎を学ぶことを目標とします。 具体的には、以下の項目がポイントになります。

アルゴリズム
プログラムを作成するためには、アルゴリズムを設計する必要があります。 アルゴリズムは、基本的に、連接、選択、反復の3つの要素から構成されることを学びます。 また、手続きや関数としてのメソッドの役割についても説明します。
データ構造
プログラムを作成するには、データ構造の設計も重要です。 Javaにおけるデータ型には、数などの基本型のほかに、参照型というものがあることを学びます。 配列や構造体としてのクラス、および値呼出しと参照呼出しについて説明し、参照に関する理解を深めます。
オブジェクト指向
Javaは、オブジェクト指向という考え方に基づいたプログラム言語です。 この考え方の要素である、クラスとメソッド、メッセージ受渡しモデルなどの概念について学びます。
アプレット
Javaの特徴の一つに、アプレットとよばれる機能によって、WWWブラウザ上でプログラムが実行できることがあげられます。 これに関して、JavaバイトコードやJava仮想機械といった概念について学びます。

1.3.2 授業スケジュール

1. ガイダンス

シラバスの説明、プログラムの動かし方。

2. アプレット

アプレットの動かし方、直線や円などの描き方。

3. 式と変数

式、演算子、変数、代入文。

4. 選択

if 文、if-else 文。

5. 反復

while 文、for 文。

6. 配列

配列。

7. クラスとメソッド(1)

手続きとしてのメソッド、関数としてのメソッド。

8. クラスとメソッド(2)

構造体としてのクラス、インスタンスと参照、値呼出しと参照呼出し。

9. クラスとメソッド(3)

配列と参照、メッセージ受渡しモデル、インスタンスメソッド。

10. クラスとメソッド(4)

コンストラクタ、メソッドのオーバーロード。

11. クラスとメソッド(5)

大域変数や定数としてのクラス変数、他のクラスのクラスメソッド。

12. より高度な話題

アプレット・セキュリティ、ガベージ・コレクション。

1.3.3 受講生への要望、履修のポイント、留意事項等

レポートとアンケートの締め切りを、次の授業の開始時刻とします。 この締め切りは整理の都合によるものであり、遅れて提出してもなるべく採点します。

1.3.4 教科書

授業はホームページ

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

にそって進めます。

1.3.5 参考書等

授業内容に応じて参考資料を紹介します。 学内の計算機システムについては、「東京女子大学計算機利用の手引き」(2001年度版)を参考にしてください。

1.3.6 成績評価の方法

原則として毎回レポート課題を出します。 課題のない日は出席を確認するアンケートを行います。 レポートの採点結果とアンケートの提出回数を総合して成績を決定します。


1.4 Javaプログラミング環境

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

一般的に、プログラムを作成するには、プログラム開発用ソフトウェア(言語処理系、開発環境などとよばれる)を用意する必要があります。 プログラマは、開発用ソフトウェアに備わっている機能を利用して、プログラムを実行できるものにしたり(コンパイル)、プログラムの間違いを見つけたり(デバッグ)します。 Javaの開発用ソフトウェアにはいくつか種類がありますが、この授業では、サン・マイクロシステムズ社のJDK(Java Development Kit)を用います。 プログラミングの学習が目的でしたら、JDKの提供する機能で十分でしょう。

JDKにはいくつかのバージョンがあります。 東京女子大学情報処理センターのシステムには、そのうちのいくつかがインストールされています。 デフォルトではJDK 1.0.2が使えますので、この授業ではJDK 1.0.2を用いることにします。

ちなみに、Javaはバージョン1.2以降、Java 2とよばれるようになりました。 JDKも、Java 2 SDK(Software Development Kit)という名前になっています。 現在では、バージョン1.4が公開目前となっています。

1.4.2 自宅で自習するには

自宅のパソコンにJDKをインストールすれば、自宅でこの授業の自習ができます。 ここでは、例としてWindows 95が動いているPCにJDK 1.0.2をインストールする方法を説明します。

はじめに、JDK 1.0.2のアーカイブ・ファイルを手に入れます。 URL

http://java.sun.com/products/archive/jdk/1.0.2/

からダウンロードしてください。 ファイルの大きさは4Mバイト弱です。 ダウンロードが面倒でしたら、CD-ROM付きのJavaの本を買うのもよいでしょう。

次に、ダウンロードしたファイルをルートディレクトリ(C:\)に置き、そのファイル(自己解凍形式)を実行します。 すると、ディレクトリ C:\java が作られ、必要なファイルやディレクトリがその中に展開されます。

最後に、ディレクトリ C:\java\bin にパスを通します。 ファイル C:\autoexec.bat を編集し、PATH 変数の設定に C:\java\bin を追加します。 再起動しますとインストールは完了です。


1.5 プログラムの動かし方

1.5.1 全体の手順

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

なお、Javaでプログラムを作成しますと、たくさんのファイルを扱うことになります。 あらかじめ授業用ディレクトリ(例えばjava)を作っておき、そのディレクトリの中で作業してください。

b00a001@Ampere:~% mkdir java
b00a001@Ampere:~% cd java
b00a001@Ampere:~/java%

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

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

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

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

はじめに、エディタ(xemacs)を起動してください。 次のプログラムをそっくりそのまま入力し、ファイル名 GoodMorning.java で保存してください。 なお、アルファベットの大文字を小文字に変えたりしないでください。

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

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

1.5.3 コンパイル

次に、端末エミュレータで javac コマンドを実行します。 プログラムが GoodMorning.java に保存されていますので、 javac GoodMorning.java と入力してください。 プログラムが正確に入力できていれば、GoodMorning.class というファイルが生成されます。

b00a001@Ampere:~/java% ls
GoodMorning.java
b00a001@Ampere:~/java% javac GoodMorning.java
b00a001@Ampere:~/java% ls
GoodMorning.class   GoodMorning.java
b00a001@Ampere:~/java%

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

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

1.5.4 実行

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

b00a001@Ampere:~/java% java GoodMorning
Good morning!
b00a001@Ampere:~/java%

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

1.5.5 プログラムのエラー

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

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

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

        Systemout.println("Good morning!");

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

b00a001@Ampere:~/java% javac GoodMorning.java
GoodMorning.java:3: Undefined variable: Systemout
Systemout.println("Good morning!");
^
1 error
b00a001@Ampere:~/java%

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

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


1.6 アンケート1

履修者の予備知識を確認するため、アンケートを行います。 以下の質問に答え、回答をkonishi@twcu.ac.jpあてにメールで送ってください。 メールには、学生番号、氏名、科目名、授業日(9/20)を明記してください。 アンケートに回答しますと、今日の授業に出席したものと見なします。

  1. 今、次の規則に従って、数の列を作ることを考えます。
    1番目、2番目、3番目はすべて1。 4番目以降は直前の3つの数の和。
    (1, 1, 1, 3, 5, 9, 17, 31, 57, 105, ...)
    この数の列のはじめの20個を出力するプログラム(またはこれと同レベルのプログラム)が、自分で作成できそうかどうかを答えてください。 作成できそうでしたら、どのプログラミング言語なのかも答えてください。
  2. 授業内容に関して、何か希望がありましたら答えてください。

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

2001年9月20日更新
konishi@twcu.ac.jp
Copyright (C) 2001 Zenjiro Konishi. All rights reserved.