目次 | 索引 |
---|---|
この授業では、Java言語を用いて、プログラミングの基礎を学ぶことを目標とします。 具体的には、以下の項目がポイントになります。
シラバスの説明、プログラムの動かし方。
アプレットの動かし方、直線や円などの描き方。
式、演算子、変数、代入文。
if 文、if-else 文。
while 文、for 文。
配列。
手続きとしてのメソッド、関数としてのメソッド。
構造体としてのクラス、インスタンスと参照、値呼出しと参照呼出し。
配列と参照、メッセージ受渡しモデル、インスタンスメソッド。
コンストラクタ、メソッドのオーバーロード。
大域変数や定数としてのクラス変数、他のクラスのクラスメソッド。
アプレット・セキュリティ、ガベージ・コレクション。
レポートとアンケートの締め切りを、次の授業の開始時刻とします。 この締め切りは整理の都合によるものであり、遅れて提出してもなるべく採点します。
授業はホームページ
http://www.twcu.ac.jp/~konishi/index-j.html
にそって進めます。
授業内容に応じて参考資料を紹介します。 学内の計算機システムについては、「東京女子大学計算機利用の手引き」(2001年度版)を参考にしてください。
原則として毎回レポート課題を出します。 課題のない日は出席を確認するアンケートを行います。 レポートの採点結果とアンケートの提出回数を総合して成績を決定します。
一般的に、プログラムを作成するには、プログラム開発用ソフトウェア(言語処理系、開発環境などとよばれる)を用意する必要があります。 プログラマは、開発用ソフトウェアに備わっている機能を利用して、プログラムを実行できるものにしたり(コンパイル)、プログラムの間違いを見つけたり(デバッグ)します。 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が公開目前となっています。
自宅のパソコンに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 を追加します。 再起動しますとインストールは完了です。
今日の授業では、Javaのプログラムが与えられたとき、そのプログラムをどうやって動かすかについて説明します。 今日はプログラムの内容を気にする必要はありません。
なお、Javaでプログラムを作成しますと、たくさんのファイルを扱うことになります。 あらかじめ授業用ディレクトリ(例えばjava)を作っておき、そのディレクトリの中で作業してください。
b00a001@Ampere:~% mkdir java b00a001@Ampere:~% cd java b00a001@Ampere:~/java%
Javaプログラムの作成から実行までの手順は以下の通りです。
「コンパイラ」、「インタプリタ」、「バイトコード」などの用語に耳慣れないかもしれません。 ある程度Javaに慣れましたら説明しますので、今は気にしないでください。
はじめに、エディタ(xemacs)を起動してください。 次のプログラムをそっくりそのまま入力し、ファイル名 GoodMorning.java で保存してください。 なお、アルファベットの大文字を小文字に変えたりしないでください。
/* 1*/ class GoodMorning { /* 2*/ public static void main (String[] args) { /* 3*/ System.out.println("Good morning!"); /* 4*/ } /* 5*/ }
Javaのプログラムを保存するときは、ファイル名の拡張子を .java にする必要があります。
次に、端末エミュレータで 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 ファイルの内容が、バイトコードです。 バイトコードは、もとのプログラムとは似ても似つかない、特殊な文字の並びです。
最後に、端末エミュレータで java コマンドを実行します。 バイトコードが GoodMorning.class に格納されていますので、 java GoodMorning と入力してください。 (ファイル名から .class を取り除きます。)
b00a001@Ampere:~/java% java GoodMorning Good morning! b00a001@Ampere:~/java%
実は、もとのプログラムは、Good morning! と出力するものです。 javaコマンドで、確かに実行できたことが分かります。
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 ファイルは生成されませんので、プログラム動かすことができないのです。
履修者の予備知識を確認するため、アンケートを行います。 以下の質問に答え、回答をkonishi@twcu.ac.jpあてにメールで送ってください。 メールには、学生番号、氏名、科目名、授業日(9/20)を明記してください。 アンケートに回答しますと、今日の授業に出席したものと見なします。
1番目、2番目、3番目はすべて1。 4番目以降は直前の3つの数の和。この数の列のはじめの20個を出力するプログラム(またはこれと同レベルのプログラム)が、自分で作成できそうかどうかを答えてください。 作成できそうでしたら、どのプログラミング言語なのかも答えてください。
(1, 1, 1, 3, 5, 9, 17, 31, 57, 105, ...)