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

コンピュータ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.5.1 システムの更新
1.5.2 授業用フォルダの作成
1.6 プログラムの動かし方
1.6.1 全体の手順
1.6.2 プログラムの入力と保存
1.6.3 コンパイル
1.6.4 プログラムの実行
1.6.5 プログラムのエラー
1.7 アンケート1
1.8 参考文献
索引
javacコマンド   javaコマンド   SDK   コンパイル   デバッグ   バイトコード  

1.1 教員の紹介

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

1.2 シラバス

1.2.1 授業の目標・概要

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

1.2.2 授業のスケジュール

  1. ガイダンス
  2. アプレット
  3. 変数と式
  4. 条件文
  5. 繰返し文
  6. 配列(1)
  7. 配列(2)
  8. 手続きと関数(1)
  9. 手続きと関数(2)
  10. レコード
  11. 文字と文字列
  12. より高度な話題

1.2.3 教材(テキスト)

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

注意:シラバス記載のURL http://www.twcu.ac.jp/~konishi/index-j.html は、将来廃止されます。

1.2.4 教材(参考書等)

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

1.2.5 成績評価の方法と基準

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

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

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

1.2.7 教室外の学習方法

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


1.3 履修者の抽選

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


1.4 プログラミング言語Java

1.4.1 Javaとは

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

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

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

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

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

1.4.3 自宅で自習するには

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

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

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

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

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

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

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


1.5 授業の準備

1.5.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. 「TWCU」をダブルクリック。
  4. 「term」をダブルクリック。
  5. 「Shift_JIS.term」をダブルクリック。

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

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

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

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

1.5.2 授業用フォルダの作成

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

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

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


1.6 プログラムの動かし方

1.6.1 全体の手順

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

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

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

「コンパイラ」、「インタプリタ」、「バイトコード」などの用語に耳慣れないかもしれません。 ある程度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. 「名前」欄に、ファイル名(今日は GoodAfternoon.java)を入力。
  4. 「名前」欄の右の三角ボタンを数回クリックし、詳細表示に変更。
  5. ホーム→「comp2b」とクリック。
  6. 「エンコーディング」メニューで「日本語(Windows, DOS)」を選択。
  7. 「改行タイプ」メニューで「Unix(LF)」を選択。
  8. 「保存」をクリック。

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

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

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

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

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

1.6.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.6.4 プログラムの実行

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

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

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

1.6.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.7 アンケート1

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

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

    問題: 1 * 2 * ... * n を、 n の階乗(factorial)と呼び、 n ! と書きます。 1! から 10! までを計算して出力してください。

  2. 授業内容に関して、何か希望がありましたら答えてください。
asiaa1:~/comp2b b08a001$ java FactorialList
1! = 1
2! = 2
3! = 6
4! = 24
5! = 120
6! = 720
7! = 5040
8! = 40320
9! = 362880
10! = 3628800
asiaa1:/~comp2b b08a001$

1.8 参考文献


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

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