Java 構文とは何ですか?
Java 構文は言語の基本であり、コンパイラーとコンピューターが「理解できる」プログラムを作成するためのすべての主要なルール、コマンド、構造です。すべてのプログラミング言語には、人間の言語と同様に独自の構文があります。この記事は Java プログラミング言語の基本構文に焦点を当てており、初心者の開発者または別のプログラミング言語を知っている人を対象としています。初心者には分かりにくい部分もあるかもしれません。その場合は、それらをスキップして例に焦点を当てるのが最善です。他のすべてのことと同様、プログラミング言語も周期的に学習し、特定の概念について徐々に理解を深めていくのが良いでしょう。すべての Java プログラムは、データ (変数) と動作 (関数またはメソッド) を相互に組み込んだオブジェクトの集合です。また、Java プログラムは 1 つまたはいくつかのクラスです。オブジェクトはクラスのインスタンスです。たとえば、クッキー抜き型やクッキーのようなオブジェクトなど、クラスをモデルとして理解できます。または、クラスを抽象「Java プログラマ」として、オブジェクトを「Java プログラマ ジョン」または「Java プログラマ アイビー」として指定します。Javaのオブジェクト
Java のオブジェクトには状態と動作があります。例: 猫には状態があります。名前はファー、色は赤、飼い主はジョンです。猫にも行動がある 今ファーは寝ています。喉を鳴らしたり、歩いたりすることもできました。オブジェクトはクラスのインスタンスです。Javaのクラス
クラスは、オブジェクトのモデル、テンプレート、または青写真です。これは、その型のオブジェクトがサポートする動作と状態を説明します。たとえば、Catクラスには名前、色、所有者があります。猫には、食べる、喉を鳴らす、歩く、寝るなどの行動もあります。Javaのメソッド
メソッドは、ロジックを記述し、データを操作し、すべてのアクションを実行するためのものです。すべてのメソッドは動作を定義します。クラスには多くのメソッドを含めることができます。たとえば、Catクラスのメソッドsleep() (スリープする) や、purr()のメソッドを記述できます。Javaのインスタンス変数
すべてのオブジェクトには、一意のインスタンス変数のセットがあります。オブジェクトの状態は通常、これらのインスタンス変数に割り当てられた値によって生成されます。たとえば、猫の名前や年齢が変数になる可能性があります。最も単純な Java プログラムから始めます。この例を使用して、Java 構文の基本概念を理解し、さらに詳しく見ていきます。単純な Java プログラム: こんにちは、Java!
簡単な Java プログラムを次に示します。
class HelloJava {
public static void main(String[] args) {
System.out.println("Hello, Java!");
}
}
このプログラムは、「Hello, Java!」という文字列を出力します。慰めに。JDK と IntelliJ IDEA をインストールし、上記のコードを書き出してみることをお勧めします。または、最初は同じことを行うためのオンライン IDE を見つけてください。次に、このプログラムを 1 行ずつ見てみましょう。ただし、初心者には必要のない詳細は省略します。
class HelloJava
Java の各プログラムは 1 つのクラス、または多くの場合、複数のクラスです。class HelloJavaという行は、ここで新しいクラスを作成し、その名前が HelloJava であることを意味します。上で定義したように、クラスは一種のテンプレートまたはブループリントであり、クラスのオブジェクトの動作と状態を記述します。初心者プログラマにとっては難しいかもしれません。この概念については、少し後で学びます。今のところ、HelloJava クラスはプログラムの始まりにすぎません。同じ行およびテキスト全体に中括弧{があることに気付いたかもしれません。一対の中括弧{}は、1 つの単位として扱われるプログラミング ステートメントのグループであるブロックを示します。ここで、{ は単位の始まりを意味し、}その結末。ブロックは相互にネストすることも、連続することもできます。上記のプログラムには 2 つのネストされたブロックがあります。外部のものには、クラスHelloの本体が含まれています。内側のブロックにはmain()メソッドの本体が含まれます。
public static void main (String args []) {
ここからがメインメソッドの始まりです。メソッドとは、プログラム内で操作を実行できるようにする動作、または一連のコマンドです。たとえば、2 つの数値を乗算したり、文字列を出力したりします。言い換えれば、メソッドは関数です。他の一部のプログラミング言語では、メソッドは「関数」と呼ばれることがよくあります。メソッドは、Java プログラムのすべての要素と同様に、クラス内に配置されます。各クラスには 1 つまたは複数のメソッドを含めることも、メソッドを持たないこともできます。
System.out.println("Hello, Java!");
形式的には、この行は out オブジェクトの println メソッドを実行します。out オブジェクトはOutputStreamクラスで宣言され、Systemクラスで静的に初期化されます。ただし、まったくの初心者にとっては少し複雑です。初心者にとっては、この行が「Hello, Java!」という単語を出力することを知っていれば十分です。コンソールに。したがって、IDE でプログラムを実行すると、コンソールに出力が表示されます。
Javaの基本的な構文規則
Java でプログラミングする場合、従うべき主な構文規則がいくつかあります。- ファイル名はクラス名と同一である必要があります。
- ほとんどの場合、各クラスは .java 拡張子が付いた個別のファイルに存在します。通常、クラス ファイルはフォルダーにグループ化されます。これらのフォルダーはパッケージと呼ばれます。
- 文字は大文字と小文字が区別されます。文字列は文字列と等しくありません。
- Java プログラム処理の開始は、常にmainメソッドpublic static void main (String [] args)で始まります。main ()メソッドは、Java プログラムの必須部分です。
- メソッド (プロシージャ、関数) は一連のコマンドです。メソッドはオブジェクトの動作を定義します。
- プログラム ファイル内のメソッドの順序は関係ありません。
- クラス名の最初の文字は大文字であることに注意してください。複数の単語を使用する場合は、各単語の最初の文字 (「MyFirstJavaClass」) に大文字を使用します。
- Java 構文のすべてのメソッド名は小文字で始まります。複数の単語を使用する場合、後続の文字は大文字になります (「public void myFirstMethodName ()」)。
- ファイルはクラス名と .java 拡張子 (「MyFirstJavaClass.java」) で保存されます。
- Java 構文には、コードのブロックとコードの新しい領域を示す区切り文字「{...}」があります。
- 各コード ステートメントはセミコロンで終わる必要があります。
- 整数: byte、short、int、long
- 分数: float と double
- 論理値: ブール値
- 記号値 (文字と数字を表すため): char
Java 変数の例:
int s;
s = 5;
char myChar = ‘a’;
このコードでは、整数変数s (空のコンテナ) を作成し、それに値 5 を入れます。myCharという名前の変数についても同じ話です。char データ型で作成し、文字aとして定義しました。この場合、変数を作成し、同時にそれに値を割り当てました。Java 構文を使用すると、このように行うことができます。参照型は、値または他のオブジェクトへの参照を保持するオブジェクトです。null への参照を含めることもできます。Null は、値が存在しないことを示す特別な値です。参照型には、文字列、配列、および必要なすべてのクラスがあります。Violin クラスがある場合は、このクラスの変数を作成できます。Java 参照型変数の例:
String s = “my words”;
Violin myViolin;
それらについては後ほど詳しく説明します。非プリミティブ型の変数は大文字から始まり、プリミティブ型は小文字から始まることに注意してください。例:
int i = 25;
String s = “Hello, Java!”;
Java 配列
配列は、同じ型の複数の変数を格納するオブジェクトです。ただし、配列自体はヒープ上のオブジェクトです。次の章では、宣言、構築、および初期化の方法を検討します。配列の例:
int[] myArray = {1,7,5};
ここには 3 つの整数 (1、7、5) が含まれる配列があります。
Java 列挙型
Java には、プリミティブ データ型に加えて、enum または enumeration などの型があります。列挙は、論理的に関連する定数のコレクションを表します。列挙型は、列挙型の名前が後に続く enum 演算子を使用して宣言されます。次に、列挙要素のカンマ区切りリストが続きます。
enum DayOfWeek {
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY,
SUNDAY
}
列挙型は実際には新しい型を表すため、その型の変数を定義して使用できます。以下は列挙型の使用例です。
Java 列挙型の例
public class MyNum{
public static void main(String[] args) {
Day myDay = DayOfWeek.FRIDAY;
System.out.println(myDay); //print a day from the enum
}
}
enum DayOfWeek{
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY,
SUNDAY
}
プログラムを実行すると、FRIDAY がコンソールに表示されます。Enum クラスと MyNum クラスのコードを 1 つのファイルに入れることもできますが、MyNum クラス用と Day enum 用の 2 つの別々のファイルを作成することをお勧めします。IntelliJ IDEA では、作成中に列挙型を選択できます。
Java での変数の宣言
実際、上記でいくつかの変数を宣言し、それらを識別しました。宣言は、特定の型の変数にメモリを割り当て、名前を付けるプロセスです。そんな感じ:
int i;
boolean boo;
代入演算子 (=) を使用して変数を初期化することを宣言することもできます。つまり、割り当てたメモリに特定の値を入れます。宣言の瞬間でも、後ででもそれを行うことができます。
変数の宣言の例
String str;
int i = 5;
Str = “here is my string”;
Java識別子
識別子は、クラス、変数、メソッドなどの Java コンポーネントの単なる名前です。すべての Java コンポーネントには名前が必要です。
Class Violin {
int age;
String masterName;
}
Violinはクラス識別子です。 ageとmasterNameは変数識別子です。Java 識別子のルールをいくつか示します。
- すべての識別子は、ラテン文字 (A ~ Z または a ~ z)、通貨文字 ($)、またはアンダースコア (_) で始まります。
- 最初の文字の後に、識別子には任意の文字の組み合わせを含めることができます。
- Java キーワードを識別子にすることはできません (キーワードは少し後でわかります)。
- 識別子では大文字と小文字が区別されます。
識別子の例
正当な識別子: java、$mySalary、_something 不正な識別子: 1stPart、-oneJava 修飾子
修飾子は、要素 (クラス、メソッド、変数) を変更するために使用できる Java 言語の特別な単語です。Java には、アクセス修飾子と非アクセス修飾子の 2 つのカテゴリの修飾子があります。アクセス修飾子の例
Java には 4 つのアクセス修飾子があります。- パブリック。パブリック要素 クラス内、クラス外、パッケージ内外からアクセス可能
- デフォルト (空) 修飾子を持つ要素はパッケージ内でのみアクセスできます
- protected修飾子は、子クラスを通じてパッケージの内部および外部からアクセスできます。
- private要素は、それが宣言したクラス内でのみ使用できます。
非アクセス修飾子の例
そのうち7つあります- 静的
- 最後の
- 概要
- 同期した
- 一時的な
- 揮発性の
- ネイティブ
Java キーワード
Java キーワードは、コードへのキーとして機能する Java で使用する特別な単語です。これらは予約語としてもよく知られており、変数、メソッド、クラスなどの識別子には使用できません。以下にそれらを示します。- abstract : 抽象クラスを宣言するためのキーワード。
- boolean : 変数をブール型として宣言するための Java boolean キーワード。このような変数は true と false のみです。
- Break : Java の Break キーワードを使用して、ループまたは switch ステートメントを中断します。
- byte : 1バイトの整数変数を宣言するためのJavaバイトキーワード。
- case : は、テキストのブロックをマークするために switch ステートメントとともに使用されます。
- catch : は、 tryブロックの後に例外をキャッチするために使用されます。
- char : 文字変数の Java char キーワード。符号なしの 16 ビット Unicode 文字を保持できます。
- class : クラスを宣言するための Java クラス キーワード。
- continue : ループを継続するための Java キーワード。
- default : switch ステートメント内のデフォルトのコード ブロックを指定するための Java デフォルト キーワード。
- do : は do-while ループの構築で使用されます。
- double : Java の double キーワードは、数値変数を宣言するために使用されます。8 バイトの浮動小数点数を保持できます。
- else : else-if 条件文で使用できます。
- enum : 定数の固定セットを定義するために使用されます。
- extends : クラスが別のクラスを拡張する (他のクラスの子クラスである) ことを示す Java extends キーワード。
- Final : 変数が定数であることを示すキーワード。
- finally : 例外が処理されるかどうかに関係なく、実行されるコードのブロックをマークします。
- float : 4 バイトの浮動小数点数を保持する変数。
- for : for ループを開始するキーワード。これは、いくつかの条件が真である間、一連の命令を繰り返し実行するために使用されます。
- if : 条件を確認するためのキーワード。条件が true の場合、ブロックが実行されます。
- implements : インターフェースを実装するためのキーワード。
- import : パッケージ、クラス、またはインターフェイスをインポートするための Java import キーワード。
- instanceof : オブジェクトが特定のクラスまたはインターフェイスのインスタンスであるかどうかを確認します。
- int : 4 バイトの符号付き整数を保持できる変数。
- Interface : Java インターフェイス キーワードは、インターフェイスを宣言するために使用されます。
- long : 8 バイトの符号付き整数を保持できる変数。
- ネイティブ: メソッドが JNI (Java Native Interface) を使用してネイティブ コードで実装されることを指定します。
- new : 新しいオブジェクトを作成するための Java new キーワード。
- package : Java クラスのファイルの Java パッケージ (フォルダー) を宣言します。
- private : アクセス修飾子は、メソッドまたは変数が、それが宣言されているクラス内でのみ表示できることを示します。
- protected : アクセス修飾子は、子クラスを介してパッケージの内外でメソッドまたは変数にアクセスできることを示します。
- public : アクセス修飾子は、要素がどこからでもアクセスできることを示します。
- return : メソッドの実行結果を返します。
- short : 2 バイトの符号付き整数を保持できる変数。
- static : 変数またはメソッドがオブジェクトやメソッドではなくクラスであることを示します。
- strictfp : 浮動小数点計算を制限します。
- super : 親クラスのオブジェクトを参照します。
- switch : 実行するコード ブロック (またはその多く) を選択します。
- synchronized : 非アクセス修飾子。これは、一度に 1 つのスレッドのみがメソッドにアクセスできることを指定します。
- this : メソッドまたはコンストラクター内の現在のオブジェクトを参照します。
- throw : は明示的に例外をスローするために使用されます。
- throws : 例外を宣言します。
- transient : 一時的なデータ部分はシリアル化できません。
- try : 例外がチェックされるコード ブロックを開始します。
- void : メソッドが値を返さないことを指定します。
- volatile : 変数が非同期的に変更される可能性があることを示します。
- while : while ループを開始します。条件が true である間、プログラムの一部を数回繰り返します。
Java でのコメント
Java は、単一行コメントと複数行コメントをサポートしています。コメント内で使用できるすべての文字は、Java コンパイラによって無視されます。開発者はコードを説明したり、何かについて思い出したりするためにこれらを使用します。コメントの例:
//single-line comment
/*here we have a multi-line comment. As you can see it uses slash and asterisks from both sides of it.*/
public class HelloJava {
/* this program was created to demonstrate comments in Java. This one is a multi-line comment.
You can use such comments anywhere in your programs*/
public static void main(String[] args) {
//here is a single-line comment
String j = "Java"; //This is my string
int a = 15; //here I have an integer
System.out.println("Hello, " + j + " " + a + "!");
int[] myArray = {1,2,5};
System.out.println(myArray.length);
}
}
Java のリテラル
Java のリテラルは、変数に割り当てられる定数値です。それらは、数値、テキスト、または値を表すその他のものである可能性があります。- 整数リテラル
- 浮動小数点リテラル
- 文字リテラル
- 文字列リテラル
- ブールリテラル
Java リテラルの例
int i = 100; //100 is an integral literal
double d = 10.2;//10.2 is a floating point literal
char c = ‘b’; //b is a char literal
String myString = “Hello!”;
boolean bool = true;
注: nullもリテラルです。
Java の基本的な演算子
演算子にはさまざまな種類があります。 算術演算- + (数値の加算と文字列の連結)
- – (マイナスまたは減算)
- * (乗算)
- / (分割)
- % (係数または剰余)
- < (未満)
- <= (以下)
- > (より大きい)
- >= (以上)
- == (等しい)
- != (等しくない)
- && (と)
- || (または)
- !(いいえ)
- ^ (XOR)
public class NumbersOperations {
int a;
int b;
public static int add(int a,int b){
return a+b;
}
public static int sub (int a, int b){
return a-b;
}
public static double div (double a, int b){
return a/b;
}
}
ここには、2 つの数値を操作するツリー メソッドを含むクラスがあります。このプログラム内で 2 つの数値を乗算する4 番目のメソッドint mul (int a, int b) を作成してみてください。NumberOprations の動作を示すクラスも作成しましょう。
public class NumberOperationsDemo {
public static void main(String[] args) {
int c = NumbersOperations.add(4,5);
System.out.println(c);
double d = NumbersOperations.div(1,2);
System.out.println(d);
}
}
NumberOperationsDemo を実行すると、次の出力が得られます。
9 0.5
GO TO FULL VERSION