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 プログラムを作成するときは、次の点に注意する必要があります。次の点:大文字と小文字を区別する
- : Java は大文字と小文字を区別します。つまり、識別子 Hello と hello は異なります。
クラス名
: すべてのクラスで、クラス名の最初の文字は大文字にする必要があります。クラス名が複数の単語で構成されている場合は、各単語の最初の文字を大文字にする必要があります (例: MyFirstJavaClass )。 メソッド名
: すべてのメソッド名は小文字で始まる必要があります。メソッド名に複数の単語が含まれる場合、後続の各単語の最初の文字が大文字になります。 ソースファイル名
: ソースファイル名はクラス名と同じである必要があります。ファイルを保存するときは、ファイル名としてクラス名を使用し (Java では大文字と小文字が区別されることに注意してください)、ファイル名の接尾辞 .java を使用する必要があります。 (ファイル名とクラス名が異なる場合はコンパイルエラーとなります)。 Main メソッドの入り口
: すべての Java プログラムは、- public static void main(String []args)
メソッドから実行を開始します。
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 の予約語を以下に示します。これらの予約語は、定数、変数、および識別子の名前には使用できません。
キーワード | 説明 |
---|---|
abstract | 抽象メソッド、抽象クラスの修飾子 |
assert | 条件が満たされているかどうかをアサート |
boolean | ブールデータ型 |
break | ループまたはラベルコードセグメントから抜け出して |
byte | 8ビット符号付きデータ型 |
case | switchステートメントの条件 |
catch | を実行し、例外情報をキャプチャしようとします |
char | 16 ビット Unicode 文字データ型 |
class | 定義クラス |
const | Unused |
Continue | ループ本体の残りの部分 |
default | switch ステートメント内のデフォルトの分岐 |
do | ループ ステートメント、ループ本体は少なくとも 1 回実行されます |
double | 64 ビット倍精度浮動小数点数 |
else | 条件が true でないときに実行される if ブランチ |
enum | 列挙型 |
extends | あるクラスが別のクラスのサブクラスであることを示します |
final | 値が他のクラスのサブクラスであることを示します初期化後に変更されました メソッドをオーバーライドできないこと、またはクラスがサブクラスを持つことができないことを示します |
finally | は、主にプログラムの堅牢性と整合性のために、実行されたコードを完成させるように設計されており、かどうかに関係なくコードを実行します例外が発生します。 |
float | 32ビット単精度浮動小数点数 |
for | forループ文 |
goto | 未使用 |
if | 条件文 |
実装 | クラスがインターフェースを実装することを意味します |
Import class | |
オブジェクトがクラスのインスタンスであるかどうかをテストします | |
32ビット整数 | |
インターフェース、メソッドと定数の定義のみを持つ抽象型 | |
64ビット整数 | |
非Javaコードで実装されたメソッドを表す | |
新しいAクラスインスタンスを割り当てる | |
一連の関連クラスがパッケージを形成します | |
は、クラス内からのみアクセスできるプライベートフィールドやメソッドなどを意味します | |
は、フィールドには、クラスまたはそのサブクラスからのみアクセスできます | サブクラスまたは同じパッケージ内の他のクラスにアクセスします |
は共有の属性またはメソッドを表します | |
メソッドの戻り値 | |
16 桁 | |
はクラスレベルで定義され、すべてのインスタンスによって共有されることを意味します | |
浮動小数点数の比較は厳密なルールを使用します | |
は基本クラスを意味します | |
Select ステートメント | |
は、同時に 1 つのスレッドのみがアクセスできるコード ブロックを表します | |
は現在のインスタンスの呼び出しを表します | または、別のコンストラクターを呼び出します |
throw | 例外をスローします |
throws | メソッドがスローする可能性のある例外を定義します |
一時的 | シリアル化されないフィールドを変更します |
試してみる | コード ブロックが例外を処理する必要があること、または、finally のコードが実行されるかどうかを示す必要があることを示します。 |
マークされたメソッドは値を返しません | |
マークされたフィールドは複数のスレッドで使用される可能性があります同期せずに同時にアクセスします | |
whileループ |
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 のクラスとオブジェクトをより明確に理解できるようになります。