スタートページ>
Javascript>
Java
Javaシリーズ目次
Javaは、あまりにも膨大な体系なので、ここでは「つまみ食い」程度になっています。
- Javaの概要
- 目次、Java 利用環境の設定、paiza.io、Javaプログラムの構成概要
- Javaの文法(1)文字列の表示と加工
- System.out.print/println、エスケープ文字、結合(+)、String.format、Stringクラスのその他のメソッド、length、concat、indexOf、replase、trim/dtrip、sprit
- Javaの文法(2)型指定、配列、構造体
- 型指定子(Strong, intなど、配列、固定長配列、リスト、可変長配列(ArrayList)、import java.util.*。構造体(クラス)
- Javaの文法(3)基本文法とクラスの体系
- 演算子、制御構造、拡張 For文、forEach、自作クラス、組込みクラス、標準パッケージ
- Javaの文法(4)引数と戻り値
- 引数(スカラ、混合型、配列)、同一型戻り値(スカラ、リスト、配列)、混合型戻り値(構造体)
- Javaの文法(5)クラス・メソッドの詳細
- Mainクラス・mainメソッドの構成、用語の説明。void(戻り値なし)、staticメソッド、アクセス修飾子(public, private)、クラス関連用語、オブジェクト、クラス、インスタンス、コンストラクタ、デフォルトコンストラクタ、変数のスコープ(有効範囲)
- Javaの文法(6)オーバーロード、オーバーライド
- オーバーロード、オーバーライド、スーパークラス、サブクラス、継承(インヘリタンス)、多様化(ポリモーフィズム)、抽象クラス、@override
- Javaの文法(7)クラスの入れ子
- エンクロージングクラス、メンバークラス、static/非static、インスタンス化、匿名クラス、抽象クラス、interface/implements、匿名クラス、ローカルクラス
Javaの概要
Java 利用環境の設定
Javaは、主に動的なWebページ作成をするために、サーバ側で動作するコンパイラ言語です。ブラウザからサーバ側のJavaプログラムが呼び出され、サーバで処理された結果がHTMLとしてブラウザに送られ、画面に表示されるような利用が一般的です。
しかし、Java のプログラムを作成しテストするのはクライアント側で行うほうが便利です。
プログラムの作成・テスト、サーバへの登録・管理などを統合的に行う環境をIDEといいます。Java IDEとして、Eclipse や VS Code がありますが、ここではPCになんらのインストールもせず、Web上で動作する簡易な環境である paiza.io の Java を利用します。
paiza.io でのプログラム作成手順
paiza.io(
https://paiza.io/ja/projects/new?language=java
- ①言語選択
- paiza.io は多くの言語をサポートしています。現在が Java になっていないときは、クリックすると一覧表が表示されるのでJavaを選択します。
- ②コード入力
- ここに作成するプログラムを記述します。
- ③実行クリック
- ④出力表示
- これにより下面に結果が表示されます。
エラーがあるときは表示されません。コードの該当行に×印がつきます。
- ⑤出力形式指定
- 出力が思わしくないとき、これを変更すると、正しく表示されることがあります。
Javaプログラムの構成概要
下のプログラムを上の ②コード入力 にコピー&ペーストします。
ケース1 プログラムの基本構成
import java.util.*; // ア
public class Main { // イ
public static void main(String[] args) { // ウ
String 文字列 = "main からの出力"; // エ
System.out.println(文字列); // オ
} // カ
} // キ
③をクリックすると④に次の結果が表示されます。
main からの出力
- アの import は、java のライブラリを用いることを示しています。
Java には組込みクラス(関数)以外に多くのクラスを持つ公開のライブラリがあります。それを用いるときには import でライブラリを指定します。
ここではライブラリを必要としませんので、アは不要です。
- Javaプログラムはメソッドとクラスで構成されます。メソッドは。通常言語での関数のいなものです。クラスはいくつかのメソッドをまとめたもので、最小単位の業務処理(オブジェクト)を構成します。
- Java はオブジェクト指向言語ですので、クラスを呼び出すことにより処理が行われます(イ-キ)。
- プログラムの起動は、Main クラスの main メソッドから始まります。このメソッドから他のクラスのメソッドが呼び出され、次々に実行されます。
プログラム中に、必ず唯一の Mainクラスがあり、その中に唯一のmainメソッドがあることが必要です。
- ウの public static void main(String[] args) {~} は決まり文句です。→後述
- オの System.out.println(~) は標準出力場所に出力する決まり文句です。println は改行を含み、print は改行しません。
public static void main(String[] args) {~}
- public アクセス修飾子
- このメソッドをどこから呼ぶことができるかを示す。
- public:すべてのクラスからアクセス可能
main が外から実行されるので、public なのは当然
- private:同じクラスのみアクセス可能
- protected または省略:同じクラス・同じパッケージ・サブクラスからアクセス可能
- static
- インスタンス化(new)しなくても外部から使用可能
- void
-
- このメソッドでの戻り値がないことを示す。main は最初に実行されるので、呼出しメソッドがなく戻り値を渡す相手がない。
- String[] args コマンドライン引数
- プログラムを実行するときの「引数の文言」を受け取ることを表わす。
String[] は、引数をString型の配列で受け取ること。
args は引数名。名称は任意だが、args が慣例
ケース2 mainクラス内に複数のメソッド
public class Main {
public static void メソッド1() {
String 文字列1 = "メソッド1からの出力";
System.out.println(文字列1);
}
public static void main(String[] args) {
String 文字列 = "main からの出力";
System.out.println(文字列);
メソッド1();
}
}
次のように出力されます。
main からの出力
メソッド1 からの出力
ケース3 return を持つメソッド
return があるので void ではなく、戻り値の型を指定します。
public class Main {
public static String メソッド1() {
return "メソッド1からの出力";
}
public static void main(String[] args) {
String 文字列 = メソッド1();
System.out.println(文字列);
}
}
メソッド1からの出力
ケース4 別のクラスのメソッドを呼び出すとき
呼び出されるクラスには public を付けません。
呼出側では クラス名.メソッド名 の形式にします。
class クラスA {
public static String メソッド1() {
return "メソッド1からの出力";
}
public static String メソッド2() {
return "メソッド2からの出力";
}
}
public class Main {
public static void main(String[] args) {
String 文字列 = クラスA.メソッド1();
System.out.println(文字列);
文字列 = クラスA.メソッド2();
System.out.println(文字列);
}
}
メソッド1からの出力
メソッド2からの出力