Javaの基本構文


Java プログラムはオブジェクトのコレクションとして考えることができ、これらのオブジェクトは相互にメソッドを呼び出して連携して動作します。以下に、クラス、オブジェクト、メソッド、インスタンス変数の概念を簡単に紹介します。

  • オブジェクト: オブジェクトはクラスのインスタンスであり、状態と動作を持ちます。たとえば、犬はオブジェクトです。そのステータスには、色、名前、品種が含まれます。また、その行動には、尻尾を振る、吠える、食べるなどがあります。

  • クラス: クラスは、あるタイプのオブジェクトの動作とステータスを記述するテンプレートです。

  • メソッド: メソッドは動作であり、クラスは多くのメソッドを持つことができます。論理演算、データ変更、およびすべてのアクションはメソッド内で完了します。

  • インスタンス変数: 各オブジェクトには一意のインスタンス変数があり、オブジェクトの状態はこれらのインスタンス変数の値によって決まります。


初めての Java プログラム

文字列を出力する単純な Java プログラムについては、以下を参照してくださいHello World


public class HelloWorld {
    /* 第一个Java程序
     * 它将打印字符串 Hello World
     */
    public static void main(String []args) {
        System.out.println("Hello World"); // 打印 Hello World
    }
}

例を実行する»

「例を実行」をクリックしますオンラインの例を表示するボタン


以下では、このプログラムを保存、コンパイル、実行する方法を段階的に紹介します:

  • メモ帳を開き、上記のコードを追加します

  • ファイル名を HelloWorld.java として保存します。 cmd コマンド ウィンドウを開き、ターゲット ファイルの場所を C:

  • と仮定して入力します。 コマンド ライン ウィンドウに javac HelloWorld.java と入力し、Enter キーを押してコードをコンパイルします。コードにエラーがない場合、cmd コマンド プロンプトは次の行に進みます。 (環境変数がすべて設定されていると仮定します)。

  • 次に、「java HelloWorld」と入力し、Enter キーを押してプログラムを実行します

  • ウィンドウに Hello World が表示されます

    C : > javac HelloWorld.java
    C : > java HelloWorld 
    Hello World
  • GIF デモ:

基本構文

java-HelloWorld.gif Java プログラムを作成するときは、次の点に注意する必要があります。次の点:

大文字と小文字を区別する
    : Java は大文字と小文字を区別します。つまり、識別子 Hello と hello は異なります。
  • クラス名
  • : すべてのクラスで、クラス名の最初の文字は大文字にする必要があります。クラス名が複数の単語で構成されている場合は、各単語の最初の文字を大文字にする必要があります (例: MyFirstJavaClass )。
  • メソッド名
  • : すべてのメソッド名は小文字で始まる必要があります。メソッド名に複数の単語が含まれる場合、後続の各単語の最初の文字が大文字になります。
  • ソースファイル名
  • : ソースファイル名はクラス名と同じである必要があります。ファイルを保存するときは、ファイル名としてクラス名を使用し (Java では大文字と小文字が区別されることに注意してください)、ファイル名の接尾辞 .java を使用する必要があります。 (ファイル名とクラス名が異なる場合はコンパイルエラーとなります)。
  • Main メソッドの入り口
  • : すべての Java プログラムは、
  • public static void main(String []args)

    メソッドから実行を開始します。

    Java 識別子
Java のすべてのコンポーネントには名前が必要です。クラス名、変数名、メソッド名はすべて識別子と呼ばれます。

Java 識別子については、次の注意点があります:

すべての識別子は文字 (A-Z または a-z)、ドル記号 ($)、またはアンダースコア (_) で始まる必要があります

  • 最初の文字の後には、任意の文字の組み合わせを続けることができます

  • キーワードを識別子として使用することはできません

  • 識別子では大文字と小文字が区別されます

  • 法的識別子の例: age、$salary、_value、__1_value

  • 不正な識別子の例: 123abc、-salary


Java 修飾子

他の言語と同様、Java は修飾子を使用してクラス内のメソッドとプロパティを変更できます。修飾子には主に 2 つのタイプがあります:

  • アクセス可能な修飾子:default、public、protected、private

  • アクセスできない修飾子: Final、abstract、strictfp

Java 修飾子については後の章で詳しく説明します。


Java変数

Javaには主に以下の種類の変数があります
  • ローカル変数

  • クラス変数 (静的変数)

  • メンバー変数 (非静的変数)


Java 配列

配列はヒープ上に格納されるオブジェクトであり、同じ型の複数の変数を格納できます。後の章では、配列を宣言、構築、初期化する方法を学びます。


Java 列挙型

Java 5.0 では、変数を事前設定された値に制限する列挙型が導入されました。列挙型を使用すると、コード内のバグを減らすことができます。

たとえば、ジュース店向けに、ジュースを小、中、大のカップに制限するプログラムを設計します。つまり、顧客はこれら 3 サイズ以外のジュースを注文できないということになります。


インスタンス

class FreshJuice {
   enum FreshJuiceSize{ SMALL, MEDUIM, LARGE }
   FreshJuiceSize size;
}

public class FreshJuiceTest {
   public static void main(String []args){
      FreshJuice juice = new FreshJuice();
      juice.size = FreshJuice. FreshJuiceSize.MEDUIM ;
   }
}

注: 列挙型は個別に、またはクラス内で宣言できます。メソッド、変数、コンストラクターは列挙型で定義することもできます。


Java キーワード

Java の予約語を以下に示します。これらの予約語は、定数、変数、および識別子の名前には使用できません。

importImport classinstanceof オブジェクトがクラスのインスタンスであるかどうかをテストしますint32ビット整数インターフェースインターフェース、メソッドと定数の定義のみを持つ抽象型long64ビット整数ネイティブ非Javaコードで実装されたメソッドを表す新しい新しいAクラスインスタンスを割り当てるpackage 一連の関連クラスがパッケージを形成します private は、クラス内からのみアクセスできるプライベートフィールドやメソッドなどを意味します protected は、フィールドには、クラスまたはそのサブクラスからのみアクセスできますpublicは共有の属性またはメソッドを表しますreturnメソッドの戻り値short 16 桁staticはクラスレベルで定義され、すべてのインスタンスによって共有されることを意味しますstrictfp浮動小数点数の比較は厳密なルールを使用しますsuperは基本クラスを意味します魔女Select ステートメントsynchronized は、同時に 1 つのスレッドのみがアクセスできるコード ブロックを表します this は現在のインスタンスの呼び出しを表しますvoid マークされたメソッドは値を返しません。 マークされたフィールドは複数のスレッドで使用される可能性があります同期せずに同時にアクセスしますwhilewhileループ
キーワード説明
abstract抽象メソッド、抽象クラスの修飾子
assert条件が満たされているかどうかをアサート
boolean ブールデータ型
break ループまたはラベルコードセグメントから抜け出して
byte8ビット符号付きデータ型
caseswitchステートメントの条件
catchを実行し、例外情報をキャプチャしようとします
char16 ビット Unicode 文字データ型
class定義クラス
constUnused
Continueループ本体の残りの部分
default switch ステートメント内のデフォルトの分岐
do ループ ステートメント、ループ本体は少なくとも 1 回実行されます
double64 ビット倍精度浮動小数点数
else 条件が true でないときに実行される if ブランチ
enum列挙型
extends あるクラスが別のクラスのサブクラスであることを示します
final 値が他のクラスのサブクラスであることを示します初期化後に変更されました
メソッドをオーバーライドできないこと、またはクラスがサブクラスを持つことができないことを示します
finallyは、主にプログラムの堅牢性と整合性のために、実行されたコードを完成させるように設計されており、かどうかに関係なくコードを実行します例外が発生します。
float32ビット単精度浮動小数点数
forforループ文
goto未使用
if条件文
実装クラスがインターフェースを実装することを意味します
サブクラスまたは同じパッケージ内の他のクラスにアクセスします
または、別のコンストラクターを呼び出します
throw例外をスローします
throwsメソッドがスローする可能性のある例外を定義します
一時的シリアル化されないフィールドを変更します
試してみる コード ブロックが例外を処理する必要があること、または、finally のコードが実行されるかどうかを示す必要があることを示します。

Javaコメント

C/C++と同様に、Javaも単一行と複数行をサポートしますコメント。コメント内の文字は Java コンパイラによって無視されます。

public class HelloWorld {
   /* 这是第一个Java程序
    *它将打印Hello World
    * 这是一个多行注释的示例
    */
    public static void main(String []args){
       // 这是单行注释的示例
       /* 这个也是单行注释的示例 */
       System.out.println("Hello World"); 
    }
}


Java の空白行

空白行またはコメントのある行は、Java コンパイラによって無視されます。


継承

Java では、クラスは他のクラスから派生できます。クラスを作成するときに、必要なプロパティまたはメソッドを持つクラスがすでに存在する場合は、そのクラスから新しく作成したクラスを継承できます。

継承を使用すると、これらのコードを書き直すことなく、既存のクラスのメソッドとプロパティを再利用できます。継承されたクラスをスーパークラス、派生クラスをサブクラスと呼びます。


インターフェイス

Java では、インターフェイスはオブジェクト間の通信のためのプロトコルとして理解できます。インターフェイスは継承において非常に重要な役割を果たします。

インターフェイスは派生によって使用されるメソッドを定義するだけですが、メソッドの具体的な実装は完全に派生クラスに依存します。

次のセクションでは、Java プログラミングのクラスとオブジェクトを紹介します。その後、Java のクラスとオブジェクトをより明確に理解できるようになります。