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

コンピュータ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.3 履修者の抽選
1.4 プログラミング言語Java
1.4.1 Javaとは
1.4.2 情報処理センターのJava環境
1.4.3 自宅で自習するには
1.5 プログラムの動かし方
1.6 プログラミングの準備
1.6.1 全体の手順
1.6.2 プログラムの入力と保存
1.6.3 コンパイル
1.6.4 実行
1.6.5 プログラムのエラー
1.7 アンケート1
javacコマンド  javaコマンド  SDK  コンパイル  デバッグ  バイトコード 

1.1 教員の紹介

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

1.2 シラバス

1.2.1 授業の目標・概要

本講義では、Java言語を用いてプログラミングの基礎を学ぶ。 プログラムの制御構造とデータ型について理解する。 また、クラスとメソッドの機能、アプレットを用いたホームページ、Javaのセキュリティについても触れる。

1.2.2 授業のスケジュール

  1. ガイダンス
  2. アプレット
  3. 変数と代入文
  4. 選択
  5. 反復
  6. 配列
  7. 手続きと関数
  8. レコード
  9. 参照
  10. クラスの構成
  11. よく使われるクラス
  12. より高度な話題

1.2.3 教材(テキスト)

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

1.2.4 教材(参考書など)

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

1.2.5 成績評価の方法と基準

原則として毎回レポート課題を出す。 最後の授業では筆記試験を行う。 レポートの採点結果と試験の得点を総合して成績を決定する。

1.2.6 履修者への要望・履修のポイント・留意事項

レポートはすべて提出すること。

1.2.7 教室外の学習方法

レポート課題に取り組むこと。


1.3 履修者の抽選

コンピュータの台数の関係により、履修希望者が80名を越えた場合は抽選を行います。 抽選用紙には、時間割番号J202Aを記入してください。


1.4 プログラミング言語Java

1.4.1 Javaとは

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

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

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

Java 2 SDKには、いくつかのバージョンがあります。 情報処理センターのシステムには、バージョン1.4.2がインストールされていますので、授業ではそれを用います。

ちなみに、Java 2はバージョン2という意味ではありません。 バージョン1.2.2以降、JavaはJava 2とよばれるようになったのです。

1.4.3 自宅で自習するには

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

はじめに、Java 2 SDK 1.4.2のインストール用ファイルを手に入れます。 URL

http://java.sun.com/j2se/1.4.2/ja/download.html

から「J2SE SDKのダウンロード」を選択し、使用許諾契約に問題がなければAcceptボタンをクリックし、Windows用のファイルを選択してダウンロードしてください。 ファイルの大きさは約49Mバイトです。

ここで、もしAdministratorとしてログオンしていなければ、Administratorとしてログオンし直します。

次に、ダウンロードしたファイルを実行(アイコンをダブルクリック)します。 質問に答えていきますと、ディレクトリC:\j2sdk1.4.2_(番号)が作られ、必要なファイルやディレクトリがその中に展開されます。

最後に、ディレクトリC:\j2sdk1.4.2_(番号)\binにパスを通します。 「コントロールパネル」→「システム」→「詳細」→「環境変数」と選択し、環境変数Pathの値にC:\j2sdk1.4.2_(番号)\binを追加します。 (パスが複数ある場合はセミコロンで区切ります。) これでインストールは完了です。


1.5 プログラムの動かし方

1.6 プログラミングの準備

2003年9月から、情報処理センターのシステムはSolarisからMacOS Xに変更されました。 新システムを利用するには、はじめに初期設定が必要です。 まだ設定していない人は、手元のプリント「クイックガイド」の通りに操作してください。 「クイックガイド」には、MacOS Xの基本操作の説明もありますので、これも覚えてください。

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

表 1.1  授業に関係するアプリケーション
アプリケーション Solaris MacOS X
端末ソフト 端末エミュレータ ターミナル
テキスト・エディタ XEmacs Jedit
ウェブ・ブラウザ Netscape Safari
メール・ソフト Mew Mail

ここで、入力モードが日本語(メニュー・バーに「あ」)でしたら、これを英語(星条旗)に切り替えます。

「ターミナル」の使い方は以下の通りです。

  1. DockのFinderアイコンをクリック。
  2. アプリケーション・ボタンをクリック。
  3. TWCUアイコンをダブル・クリック。
  4. termアイコンをダブル・クリック。
  5. Shift_JIS.termアイコンをダブル・クリック。

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

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

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

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

Javaでプログラムを作成しますと、たくさんのファイルを扱うことになります。 そこで、授業用のディレクトリ(例えばjava)を作り、そのディレクトリの中で作業を行うことにします。 再び「ターミナル」を起動して、以下のように入力してください。

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

Jeditの使い方は以下の通りです。

  1. DockのFinderアイコンをクリック。
  2. アプリケーション・ボタンをクリック。
  3. Jedit4.0フォルダ・アイコンをダブル・クリック。
  4. Jedit4アイコンをダブル・クリック。
  5. メニュー・バーで、「ファイル」→「新規」とクリック。

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

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

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

  1. ウィンドウをクリック。
  2. メニュー・バーで、「書式」→「文字サイズ」とクリック。

1.6.1 全体の手順

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

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

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

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

1.6.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. 「場所:」メニューの右端にある下三角ボタンをクリックし、授業用ディレクトリの名前(java)をクリック。
  4. 「別名で保存」欄に、ファイル名(今日は GoodAfternoon.java)を入力。
  5. 「ファイル形式」メニューで「Jeditテキストのみ」を選択。
  6. 「漢字コード」メニューで「シフトJIS」を選択。
  7. 「改行コード」メニューで「CR(Mac)」を選択。
  8. 「保存」ボタンをクリック。

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

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

  1. もしDockにJeditアイコンがなければ、上記の要領でJeditを起動します。
  2. DockのJeditアイコンをクリック。
  3. メニュー・バーで、「ファイル」→「開く...」とクリック。
  4. 「場所:」メニューの下で、授業用ディレクトリの名前(java)をクリックし、ファイル名をクリック。
  5. 「開く」ボタンをクリック。

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

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

1.6.3 コンパイル

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

b00a001@AsiaA1:~/java% ls
GoodAfternoon.java
b00a001@AsiaA1:~/java% javac GoodAfternoon.java
b00a001@AsiaA1:~/java% ls
GoodAfternoon.class   GoodAfternoon.java
b00a001@AsiaA1:~/java%

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

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

1.6.4 実行

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

b00a001@AsiaA1:~/java% java GoodAfternoon
Good afternoon!
b00a001@AsiaA1:~/java%

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

1.6.5 プログラムのエラー

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

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

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

        Systemout.println("Good afternoon!");

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

b00a001@AsiaA1:~/java% javac GoodAfternoon.java
GoodAfternoon.java:3: シンボルを解決できません。
シンボル: 変数 Systemout
場所    : GoodAfternoon の クラス
        Systemout.println("Good afternoon!");
        ^
エラー 1 個
b00a001@AsiaA1:~/java%

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

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


1.7 アンケート1

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

  1. 次の問題が自分でプログラムを作成して解けるかどうかを答えてください。 解ける場合は、どのプログラミング言語かも答えてください。

    ある生物は単性生殖で、生まれてから 24 時間後に子を一つ生み、48 時間後にも子を一つ生んで、自分自身はその直後に死ぬとします。 1 日目に生まれたばかりのこの生物一つから始めますと、2 日目には一つ生まれますので、日齢 0 が 1 個、日齢 1 が 1 個の合計 2 個になります。 3 日目には二つ生まれますが、日齢 2 のものが死にますので、日齢 0 が 2 個、日齢 1 が 1 個の合計 3 個になります。 さて、個数が一万を越えるのは何日目ごろでしょうか。 コンピュータを使って計算してください。

  2. 授業内容に関して、何か希望がありましたら答えてください。

なお、メールを書くには次のようにします。

  1. Dockの切手アイコンをクリック。
  2. 「新規作成」ボタンをクリック。
  3. 宛先、件名、および本文を入力。
  4. 「送信」ボタンをクリック。

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

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