この授業では、Java言語を用いて、プログラミングの基礎を学ぶことを目的とします。 具体的には、以下の項目がポイントになります。
この授業では、与えられたプログラムを入力し、保存し、コンパイルし、実行するまでの手順を知る演習を行います。
また、プログラミング言語としてのJavaの特徴に触れ、JavaバイトコードやJava仮想機械といった概念を学びます。
Javaの特徴の一つに、アプレットとよばれる機能によって、WWWブラウザ上でプログラムが実行できることがあげられます。
この授業では、アプレットを動かすためのHTMLファイルの書き方を学び、アプレットを用いて、簡単な絵を描く演習を行います。
Javaは色々な型のデータを取り扱うことができます。 この授業では、基本データ型の例として数を取り上げます。
変数、演算子、式、代入文、文といった概念を学び、これらを用いたプログラムの作成演習を行います。
この授業では、クラスやメソッドなどの概念を導入します。
Javaのプログラムはクラスの集まりであることや、クラスの定義は変数の宣言、コンストラクタの定義、メソッドの定義からなること、メソッドの定義は変数の宣言と文からなることを学びます。
また、これらの概念に基づいて、オブジェクトを取り扱うプログラムの作成演習を行います。
Javaは手続き型プログラミング言語に分類されます。 手続き型言語に基づくプログラムは、一般的に、順次、選択、繰り返しの3種類の構成要素を持ちます。 順次については前回の授業で学んだので、この授業では選択を取り上げます。
Javaでは選択をif文やswitch文で実現することを学び、ブール式の書き方に触れた後、選択を用いたプログラムの作成演習を行います。
この授業では、プログラムの第3要素である繰り返しを取り上げます。
Javaでは繰り返しをfor文、while文、およびdo-while文で実現することを学び、無限ループという概念に触れた後、繰り返しを用いたプログラムの作成演習を行います。
Javaのデータ型は、基本型と参照型に分類されます。 この授業では、参照データ型の例として配列を取り上げます。 配列の考え方を学び、配列を用いて、データの集計をしたり、整列や検索を行ったりするプログラムの作成演習を行います。
この授業では、引き続き配列を取り上げます。 配列の配列という考え方を学び、特に2次元配列を用いて、表の集計をしたり、パターンを描いたりするプログラムの作成演習を行います。
自分自身を呼び出すプログラミング手法は再帰とよばれます。 この授業では、再帰の考え方を学び、再帰を用いて、データの整列をしたり、フラクタル図形を描いたりするプログラムの作成演習を行います。
この授業では、これまで必要に応じて触れてきた、インスタンス変数とクラス変数、インスタンス・メソッドとクラス・メソッド、コンストラクタといった概念について整理します。
また、インスタンスが参照型であることや、メソッドのオーバーロードなどの概念を学びます。
この授業では、文字列の取り扱い方について学びます。 また、ファイルの取り扱い方や入出力の仕方についても学びます。
これらを利用して、ファイルの内容を処理するプログラムの作成演習を行います。
Javaは、オブジェクト指向のプログラミング言語です。 この授業では、オブジェクト指向の概念のひとつである、継承について学びます。
また、Javaは高い信頼性と安全性を備えた言語です。 この特徴を支えている、ガベージ・コレクションやアプレット・セキュリティといった機能についても学びます。
ホームページhttp://www.twcu.ac.jp/~konishi/index-j.htmlの内容に沿って授業を進めます。 必要に応じて、権藤克彦著『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.3が公開され始めています。
自宅のパソコンにJDKをインストールすれば、自宅でこの授業の自習ができます。 ここでは、例としてWindows 95が動いているPCにJDK 1.0.2をインストールする方法を説明します。
はじめに、JDK 1.0.2のアーカイブ・ファイルを手に入れます。 URL
http://java.sun.com/products/jdk/1.0.2/
からダウンロードしてください。 ファイルの大きさは4Mバイト弱です。 ダウンロードが面倒でしたら、CD-ROM付きのJavaの本を買うのもよいでしょう。
次に、ダウンロードしたファイルをルートディレクトリ(C:\)に置き、そのファイル(自己解凍形式)を実行します。 すると、ディレクトリ C:\java が作られ、必要なファイルやディレクトリがその中に展開されます。
最後に、ディレクトリ \java\bin にパスを通します。 ファイル autoexec.bat を編集し、PATH 変数の設定に \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あてにメールで回答してください。 アンケートに回答すると、出席したものと見なします。