トップ->Java Applet入門

Java入門内検索

目次
Javaトップ
0. はじめに

1. Javaの基礎
   1. コンパイル方法・実行方法
   2. 予約語
   3. 構成
   4. データの型と宣言
   5. 定数と変数
   6. 簡単な演算
   7. ディスプレイへの表示
   8. 文字列

2. 制御文
   1. 順次構造
   2. 単一分岐
   3. 多重分岐
   4. ケース構造
   5. 反復構造(while)
   6. 反復構造(do)
   7. 反復構造(for)
   8. 補助制御文
   9. 練習問題
   10.練習問題
   11.多重ループの抜け方

3. 配列
   1. 配列とは
   2. 配列の宣言と初期化
   3. 配列の使用法
   4. 練習問題
   5. 2次配列と多次元配列
   6. 練習問題

4. クラスの基礎
   1. クラスとは
   2. クラスの作成
   3. コンストラクタ
   4. 例題
   5. 演算子==とequalsメソッド

5. 演算子
   1. 演算子の種類
   2. インクリメント演算子とデクリメント演算子
   3. 複合代入演算子
   4. ビット演算子
   5. シフト演算子
   6. キャスト演算子
   7. 順次演算子
   8. 条件演算子(三項演算子)
   9. instanceof演算子
   10.演算子の優先順位
   11.式と値
   12.条件式と値
   13.練習問題

6. オブジェクト指向とは
   1. オブジェクト指向とクラス
   2. 継承
   3. カプセル化
   4. ポリモーフィズム

7. クラス
   1. thisキーワード
   2. public, protected, private
   3. 静的変数・静的メソッド・静的ブロック
   4. ローカル変数
   5. メソッドの引数
   6. null
   7. 練習問題
   8. インナークラス(内部クラス)
   9. 無名インナークラス(無名内部クラス)
   10. クラスの包含
   11. 練習問題

8. 継承
   1. 継承とは
   2. スーパークラスのコンストラクタ
   3. 継承とキャスト
   4. スコープ
   5. クラスの作成
   6. abstract
   7. 例題)お絵かきソフト
   8. 継承と包含

9. インターフェース
   1. インターフェースとは
   2. インターフェースの宣言
   3. インターフェースの参照
   4. インターフェースの修飾子
   5. インターフェースの継承
   6. インターフェースとinstanceof演算子

10. パッケージ
   1. パッケージとは
   2. パッケージの宣言
   3. クラスパス
   4. import

11. 例外
   1. 例外とは
   2. 例外が起きたら
   3. 例外の種類
   4. catchブロックの検索
   5. throw
   6. throws
   7. エラーと例外
   8. 独自の例外

12. マルチスレッド
   1. スレッドとは
   2. スレッドのライフサイクル
   3. スレッドの作成(Threadクラス)
   4. Threadクラスのメソッド
   5. スレッドの作成(Runnableインターフェース)
   6. 同期
   7. デッドロック
   8. スレッド間の通信

13. ガーベージコレクター
   1. ガーベージコレクターとは
   2. ガーベージコレクターの実行
   3. finalize

14. 有用な(?)クラス群
   1. Math
   2. Random
   3. System
   4. Vector
   5. Stack
   6. Hashtable
   7. Enumeration
   8. String
   9. StringTokenizer
   10. Object
   11. Number
   12. Byte
   13. Short
   14. Integer
   15. Long
   16. Float
   17. Double
   18. BigInteger
   19. BigDecimal
   20. Character
   21. Date
   22. Calendar

15. 入出力
   1. ファイルとディレクトリ
   2. ストリームの種類
   3. 文字ストリーム
   4. Reader
   5. CharArrayReader
   6. StringReader
   7. InputStreamReader
   8. FileReader
   9. BufferedReader
   10. Writer
   11. CharArrayWriter
   12. StringWriter
   13. OutputStreamWriter
   14. FileWriter
   15. PrintWriter
   16. BufferedWriter
   17. バイトストリーム
   18. InputStream
   19. ByteArrayInputStream
   20. FileInputStream
   21. FilterInputStream
   22. BufferedInputStream
   23. DataInputStream
   24. OutputStream
   25. ByteArrayOutputStream
   26. FileOutputStream
   27. FilterOutputStream
   28. BufferedOutputStream
   29. PrintStream
   30. DataOutputStream
   31. ランダムアクセスファイル
   32. スレッド間通信
       PipedInputStream
       PipedOutputStream
   33. クラスの保存
       ObjectInputStream
       ObjectOutputStream
       Serializable
   34. StreamTokenizer
   35. 標準入出力
       キーボードからの入力(標準入力)
       標準出力
       標準エラー出力
   36. 練習問題

16. ネットワーク
   1. インターネットアドレス
   2. TCP/IP通信
   3. UDP通信
   4. URL
   5. 練習問題
   6. マルチキャスト
   7. RMI

17. 中間試験
   1. 問題:Webサーバーを作りなさい
   2. HTTPプロトコル
   3. クラス設計
   4. 解答例

18. AWT
   1. AWTとは
   2. Component
   3. Container
   4. Frame
   5. Button
   6. レイアウト
   7. BorderLayout
   8. FlowLayout
   9. GridLayout
   10. CardLayout
   11. nullレイアウト
   12. イベントとイベントリスナー
   13. ActionListener
   14. Panel
   15. Label
   16. CheckBoxとItemListener
   17. CheckBoxGroup
   18. Choice
   19. List
   20. TextFieldとTextListener
   21. TextArea
   22. ScrollbarとAdjastmentListener
   23. Canvas
   24. 練習問題(計算機)
   25. Point
   26. Dimension
   27. Color
   28. Font
   29. Graphics
   30. 練習問題
   31. 練習問題
   32. ダブルバッファ
   33. イベント その2
       ActionEvent
       ItemEvent
       AdjustmentEvent
   34. KeyListenerとKeyEvent
       InputEvent
   35. MouseListenerとMouseEvent
   36. MouseMotionListener
   37. FocusListenerとFosusEvent
   38. WindowListenerとWindowEvent
   39. ComponentListenerとComponentEvent
   40. ContainerListenerとContainerEvent
   41. アダプタクラスとインナークラス
   42. 無名インナークラス
   43. 練習問題 お絵かき
   44. WindowとDialog、FileDialog
   45. メニュー
   46. ポップアップメニュー
   47. ショートカット
   48. カーソル

19. Java Applet
   1. Java Appletとは
   2. 最初のJava Applet
   3. Appletクラス
   4. Appletクラスのライフサイクル
   5. AppletContext
   6. イメージ
   7. パラメーター
   8. 練習問題 スライドショー
   9. Jarファイル
   10. 練習問題 時計

20. その他のチップス
   1. Javaから別のプログラムを実行させる
   2. StringBuffer
   3. 環境変数の取得
   4. 基数表記
   5. インスタンスのコピー
   6. 値渡しと参照渡し
   7. クラスオブジェクトの比較

21. 修了試験 ↓これより下は工事中です。
   1. 考え中
   2. 考え中
   3.
   4.

22. そしてその後は・・・
   1. ヒューマンアカデミー Javaプログラマー本科
   2. Appli-Style.com iアプリ作成に挑戦
   3. SJC-A 受験チケット申込


・ このページの先頭に戻る
・ トップページに戻る



・ このページの先頭に戻る
・ トップページに戻る

トップ-> C++入門:1章 Javaの基礎-> 構成

←前ページへ :  トップへ :  次ページへ→

3. 構成

  Javaを文法的に見た場合の構成について説明します。

語句の種類
  Java言語を構成する語句は「識別子」、「予約語」、「定数」、「文字列」、「演算子」、 「区切子」、「コメント」、「ブランク」があります。

  識別子は、メソッド名、変数名そしてクラス名のことです。変数には、 単純変数、配列の2種類があり、さらにint型、char型などの型が存在します。

  予約語は、プログラムの実行順序の制御や、変数の型など、決まっている語です。

  定数はその名の通り、定数です。文字列も定数(文字)の羅列で、定数の1種と考えられます

  演算子は足し算、引き算などの「+」や「-」のことです。

  区切子とは、文と文を区切ったりするものです。

  コメントとは、何をしている部分だとか、この関数は何をするものだとか、ここはまだ 未完成だよとか、プログラムとは関係ないが、プログラマーが自分あるいは、一緒に作っている 仲間のプログラマーに対してのメッセージです。コメントの書き方は2種類あります。1つは 「//」の以降改行まで、2つ目は「/*」と「*/」の間です。 後者は入れ子ができません。

  ブランクとは、プログラムを見やすくするための改行や、タブ、スペースを言います。




  これらの語句を組み合わせて式を構成します。

  式には一次式と演算式(演算子を用いて一次式を組み合わせたもの)に分けることができます (数学で言う一次式とは異なります)。

  関数も式になります。何かを処理するための引数を必要とし、その結果を返します。 その結果を戻り値と言います。




  式1つもしくは複数の式から文を構成します。文の後には必ず1文の終わりを示す記号 「;」がつきます。1行の中に文が2つ以上あっても構いません。エディターで見た場合に 1行の中に複数の文があっても、コンパイラは1文を1文として認識するからです。

  したがって、次の左のプログラムと右のプログラムは同じものです。
import  java.io.*;

class Test{
    public static void main(String args[]){
        int x = 10;
        int y = 20;
        int z = x + y;
    }
}

import  java.io.*;

class Test{
public static void main(String args[]){
int x = 10;   int y = 20;   int z = x + y;
}}

  文には「式の文」(上で言う「int x = 10;」など)、空文(「;」のみからなる文)、 制御文(「break;」、「return;」など)があります。


ブロック
  文が0文、1文、あるいは複数の文からブロックが構成されます。文をブロックを表す 「{」と「}」で囲みます。ブロックは「1文と見なす単位」のことです。

  条件分岐(「if」、「else」)や反復(「for」や「while」など)などは、基本的に1文しか 実行できません。しかし1文だけしか繰り返せないのでは不便です。そこで このブロックで1文と見なすことで、複数の文を反復することができるのです。

  また、ブロックは入れ子にできるので、複数のブロックを1つのブロックとすることも できます。


  JavaはC++と同様オブジェクト指向言語です。オブジェクト指向とは、プログラムも実世界に存在する モノと考えてプログラムを作ることです。このモノをクラスと呼びます。クラスはデータとメソッド (C++では関数)から作られます。例えば、オブジェクト指向言語でお絵かきソフトを作ろうとした場合、 ペンクラスを用意し、ペンクラスには「絵を書く」というメソッドなどを用意します。

  哺乳類を考えた場合、哺乳類クラスには「餌を食べる」「寝る」などのメソッドと、「足の数」という データを用意します。犬は哺乳類の一種なので、「犬」クラスは「哺乳類」クラスのサブクラスと呼ぶことが でき、この場合「足の数」は4になります。これを継承といいます。このように継承を使用すると、 新しいクラス(ここでは犬クラス)を作る場合に、その差分だけを作ればよいので、プログラムの効率が よくなります。

  ところで、先ほどのペンですが、ペンは文房具の一種ですが、文房具にははさみなどもありますので、 差分だけ作るというのは無理なようです。はさみクラスは仕方がないので、新しく作らなければなりませんが、 その他にもクラスが増えてくると、文房具は文房具でなんとかひとまとめにしたいです。

  このような場合、C++では「名前空間(namespace)」という機能を作ることでとりあえず分別はできますが、 実質は名前空間を分けているだけなので、分別しているわけではありません。Javaでは、パッケージという 機能を使うことで、このような場合、文房具は文房具でまとめることができます。

  もっと具体的に言うと、JDKで用意されているクラスのうち、GUIを担うクラス群(ボタンやテキストエリアなど) は「awt」という名前でパッケージ化されています。ネットワーク関係を担うクラス群は「net」という 名前でパッケージ化してあります。さらに、パッケージの中にパッケージを入れることもできますので、 たくさんのクラスを作った場合、整理するのがC++に比べて便利になっています。


  また、JavaにはCやC++のようなヘッダーファイルがありません。したがってJavaには「#include」は ありませんが、どのパッケージを使用するかをあらかじめ宣言しなくてはなりません。それが下の例の 「import」です。下の例では、javaパッケージのioパッケージの中の全てのクラスを使用できるように というimport宣言です。(*が全てのクラスを使用するという意味)

Test.java

import java.io.*; // コメント class Test{ public static void main(String args[]){ System.out.println("Hello Java World."); } }

  Javaでは、すべてプログラムはクラス内に収められます。これがC++とは大きく違うところのひとつです。 したがって、「class Test」というように、クラス宣言があります。

  そして、クラス内に最初に実行されるべきmainメソッドを定義します。CやC++では、main関数を 定義するのに、引数を取ったり取らなかったり、また、戻り値をintにしたりvoidにしたり自由に 定義できましたが、Javaでは、戻り値はvoid、引数はString型の配列と決まっていますので、 このように記述します。

  そして、必要ならば他のメソッドや変数を定義します。


  また、Javaでは基本的に1つのファイルに1クラスです。クラス名とファイル名は同じです。 拡張子は「java」にします。特殊な場合は1ファイルに複数のクラスを定義することもできますが、 オブジェクト指向に反するので、このような使い方は一般にしません。小さなプログラムや、 Java Appletを作るときには、やりますが・・・。



←前ページへ :  トップへ :  次ページへ→