目次

JAVA基礎
Javaとは
Javaの歴史
Javaの配布形態
JDKをインストール
環境を設定
テスト用フォルダを作成
Javaアプリケーションのサンプル(HelloWorld)

文法
コメント(//, /* */, /** */)
キーワード
リテラル
プリミティブ型(boolean, byte, char, short, int, long, float, double)
値を返さない型(void)
演算子
キャスト

制御構文
もし(if)
繰り返し(for
繰り返し(while)
繰り返し(do while)
分岐(switch)
処理を抜ける(break)
処理を繰り返す(continue)
ジャンプ(goto

修飾子
修飾子一覧
アクセス修飾子(public, protected, private)
スタティック修飾子(static)
ファイナル修飾子(final)
抽象修飾子(abstract)
ネイティブ修飾子(native)
同期修飾子(synchronized)
一時的修飾子(transient)
揮発性修飾子(volatile)
厳密浮動小数修飾子(strictfp)
定数修飾子(const)

クラス
クラス(class)
クラスのインスタンス化(new)
クラスの例
コンストラクタとデストラクタ
インナークラス
クラス修飾子(public, ...)
クラスの継承(extends)
親クラスの参照(super)
クラスに属しているか調べる(instanceof)

インタフェース
インタフェース(interface)
インタフェースの例
インタフェース修飾子(public, ...)
インタフェースの継承(extends)

メソッド
メソッド
引数
戻り値(return)
メソッド修飾子(public, ...)

変数
変数
変数修飾子(public, ...)
定数(static final)
自分自身(this)
配列

文字列
文字列(String)
文字列長を得る(length)
等しいかどうか調べる(equals, equalsIgnoreCase)
文字列を大小比較する(compareTo, compareToIgnoreCase)
n番目の文字を得る(charAt)
指定文字が出現する場所を得る(indexOf)
文字列を分割する(split)
エスケープシーケンス

コレクション(リスト、セット)とマップ
コレクション(リスト、セット)とマップ
リスト(ArrayList)リスト(LinkedList)
リスト(Vector)
セット(HashSet)
セット(TreeSet)
マップ(HashMap)
マップ(TreeMap)

パッケージ
インポート(import)
パッケージ(package)
パッケージのサンプル

例外処理
例外とは
例外をキャッチする(try, catch, finally)
例外を投げる(throw, throws)
例外オブジェクト(Exception)

























相互リンク1

相互リンク

アメージングオンライン

相互リンク

相互リンクを募集しています。
相互リンクを希望される方は、こちらにコメントください。
よろしくお願いします。

例外オブジェクト(Exception)

例外オブジェクトは次のようなクラス階層を持ちます。

□Object
└□Throwable
 ├□Error
 │├□
 └□Exception
  ├□RuntimeException
  │├□
  ├□

それぞれのクラス(およびそのサブクラス)は次のように分類できます。

クラス 説明
Error JavaVM で検出される致命的エラー。例外ハンドラを記述しても処理を継続できないことが多い。OutOfMemory(メモリ枯渇)など。
RuntimeException Javaの処理上発生するエラー。例外ハンドラは省略可能。ArithmeticException(ゼロ除算)、IllegalArgumentException(引数不正)、NullPointerException(NULLポインタ参照)、ArrayIndexOutOfBoundsException(不正インデックスによる配列参照)など。
Exception 通常の例外。例外ハンドラを記述しないとコンパイルエラーとなる。

例外を投げる(throw, throws)

throw を用いて例外を投げることができます。例外を投げるメソッドを定義する場合は、throws を用いて、そのメソッドが例外を投げる可能性があることを明示しておきます。throws 宣言されたメソッドは、try catch で例外を補足しないと、コンパイル時にエラーとなります。

§ThrowTest.java
class MyException extends Exception {
public String errMsg;
MyException(String msg) { errMsg = msg; }
}

class ThrowTest {
public static void main(String[] args) {
try {
methodA();
} catch (MyException e) {
System.out.println(e.errMsg);
}
}
static void methodA() throws MyException {
MyException e = new MyException("エラー発生!!");
throw e;
}
}


例外をキャッチする(try, catch, finally)

FileReader() は、指定したファイルが存在しない場合に FileNotFoundException 例外を発生させます。これは、FileReader() のマニュアルに下記のように記述してあることから分かります。

public FileReader(String fileName)
throws FileNotFoundException

try は、例外を発生させる可能性のある処理を呼び出す場合に用います。try { ... } の間で例外が発生した場合、catch を用いてこの例外を捕捉します。下記の例では、FileNotFoundException 例外が発生した場合に、その内容を標準出力に書き出します。このような例外発生時の処理を 例外ハンドラ と呼びます。

try {
FileReader in = new FileReader("data.txt");
} catch (FileNotFoundException e) {
System.out.println(e);
}

catch は例外発生時に投げられる 例外オブジェクト に応じて複数記述することができます。いずれの catch にも該当しない例外を扱うために、finally を用います。

try {
:
} catch (TestAException e) {
:
} catch (TestBException e) {
:
} finally {
:
}

例外が発生した場合、try { ... } catch の間の残りの処理はスキップされます。下記の例では、例外が発生した場合 (1) (2) (4) (5) の処理が実行され、(3) の処理はスキップされます。例外が発生しない場合は (1) (2) (3) (5) の処理が実行されます。

System.out.println("(1)");
try {
System.out.println("(2)");
FileReader in = new FileReader("data.txt"); ← 例外発生!!
System.out.println("(3)"); ← スキップされる
} catch (FileNotFoundException e) {
System.out.println("(4)");
}
System.out.println("(5)");


例外とは

Java では、プログラムを実行する最中に発生するエラーを 例外(exception)として扱うことができます。例外には例えば、0で割り算をした、メモリが枯渇した、存在しないファイルを開こうとしたなどがあります。

パッケージのサンプル

下記のようなフォルダ構成でファイルを作成してみます。□はドライブやフォルダ、○はファイルを意味しています。

□ C:¥
└□ java
 ├○ PkgTest1.java
 └□ pkgA
  ├○ PkgTest2.java
  └□ pkgB
   └○ PkgTest3.java

それぞれのファイルの中身を次のように記述してください。

§PkgTest1.java
class PkgTest1 {
public static void main(String[] args) {
pkgA.PkgTest2 o2 = new pkgA.PkgTest2();
pkgA.pkgB.PkgTest3 o3 = new pkgA.pkgB.PkgTest3();
o2.test();
o3.test();
}
}

§pkgA¥PkgTest2.java
package pkgA;

public class PkgTest2 {
public void test() {
System.out.println("this is pkgA.PkgTest2");
}
}

§pkgA¥pkgB¥PkgTest3.java
package pkgA.pkgB;

public class PkgTest3 {
public void test() {
System.out.println("this is pkgA.pkgB.PkgTest3");
}
}

これをコンパイルして実行すると次のようになります。

C:¥java>javac PkgTest1.java
C:¥java>java PkgTest1
this is pkgA.PkgTest2
this is pkgA.pkgB.PkgTest3


パッケージ(package)

パッケージ は、いくつかのクラスやインタフェースをひとまとまりにしたものです。ファイルの先頭で package 文を次のように宣言することで、そのファイルに含まれるクラスなどは、pkgA.pkgB パッケージの一部として定義されるようになります。

package pkgA.pkgB;


インポート(import)

Java において、例えば Button は正確には java.awt.Button と記述します。しかし、毎回 java.awt.Button と記述するのは面倒なため、プログラムの冒頭で java.awt.* を import しておくことにより、java.awt.Button を単に Button と記述できるようになります。

java.awt.Button btn = new java.awt.Button();

上記を、import を用いて書き直すと次のようになります。

import java.awt.*;

Button btn = new Button();


相互リンク
selected entries
categories
archives
profile
search this site.
others
mobile
qrcode
powered
無料ブログ作成サービス JUGEM
calendar
  12345
6789101112
13141516171819
20212223242526
2728293031  
<< August 2006 >>
sponsored links