Java の基本構文 (史上最も完全なもの)
(1) キーワードと予約語
キーワードの定義と特徴
定義: Java 言語によって特別な意味が与えられ、特別な目的に使用される文字列。
特徴: キーワード内の文字はすべて小文字です。キーワードを変数名、メソッド名、クラス名、パッケージ名、パラメータとして使用することはできません。
2.予約語
定義: 現在 Java では使用されていませんが、将来のバージョンではキーワードとして使用される可能性があります。単独で使用する場合は避けてください。
(2) 識別子
識別子
単独で名前を付けることができる場所はすべて識別子と呼ばれます。例: パッケージ名、クラス名、メソッドなど。
法的識別子のルールを定義する
1. 大文字と小文字、0 ~ 9、_ または $ を含む 26 個の英字があります。
2. 数字で始めることはできません。
3. キーワードおよび予約語は使用できませんが、キーワードおよび予約語を含めることは可能です。
4. 大文字と小文字が厳密に区別されます。
5. 識別子にはスペースを含めることはできません。
Javaでの名前命名規則
1. パッケージ名: 複数の単語で構成される場合、すべての文字は小文字になります: xxxyyyzzz
2. クラス名、インターフェース名: 複数の単語で構成される場合、すべての単語の最初の文字が大文字になります: XxxYyyZzz
3. 変数名とメソッド名: 複数の単語で構成される場合、最初の単語の最初の文字は小文字、2 番目の単語以降の各単語の最初の文字は大文字になります: xxxYyyZzz
4. 定数名: すべての文字は大文字です。複数の単語がある場合は、各単語をアンダースコアで接続します: XXX_YYY_ZZZ
(3) 変数
変数の概念
1. メモリ内の記憶領域。
2. この領域のデータは、同じ種類の範囲内で連続的に変化する可能性があります。
3. 変数は、プログラムの最も基本的な記憶単位です。変数のタイプ、変数名、および格納された値が含まれます
変数の役割
データをメモリに保存するために使用されます。
変数宣言
構文: <データ型> <変数名>
int a;
変数の代入
構文: <変数名> = <値>
a = 10;
注: Java のすべての変数は、最初に宣言してから使用する必要があります。
変数の宣言と代入
構文: <データ型> <変数名> = <初期値>
int a = 10;
メソッドの外およびクラス内で宣言された変数はメンバー変数と呼ばれます。
メソッド本体内で宣言された変数はローカル変数と呼ばれます。
初期化に関する 2 つの類似点と相違点
同じ: どちらにもライフサイクルがあります。例外: ローカル変数は、仮パラメータを除き、初期化する必要があります。
(4) 基本的なデータ型
自動型変換 (暗黙的)
1. 特徴:コードは特別な処理を必要とせず、自動的に完成します。
2. ルール: データ範囲は小さいものから大きいものまで
例:int型はlong型に自動変換されます。
long b = 10;
知らせ:
1.byte、short、charは相互に変換されず、計算時に一旦int型に変換されます。
2. ブール型は他のデータ型では演算できません。
3. 基本データ型の値と文字列(+)を連結すると、基本データ型の値は自動的に文字列型に変換されます。
キャスト(表示)
1. 特徴: コードには特殊な形式の処理が必要であり、自動的に完了することはできません。
2. ルール: データ範囲は小さいものから大きいものまで
形式は次のとおりです。
int b = (int)10L;
整数型: byte、short、int、long
注: Java の整数定数のデフォルトは int 型であるため、long 定数を宣言する場合は、後ろに 'l' または 'L' を追加する必要があります。
浮動小数点型: float、double
注: Java の浮動小数点定数はデフォルトでは double です。float 定数を宣言するには、その後に 'f' または 'F' を追加します。
文字の種類: char
注: 操作は char 型に対して実行できます。すべてUnicodeコードに対応しているからです。
ブール型: ブール型
注: ブール型データでは true と false の値のみが許可され、null は許可されません。
ブール型は他のデータ型に変換できません。
(5) オペレーター
演算子の分類
1. 算術演算子
インクリメント (デクリメント) 演算子: ++、-
例: a++: 最初に代入、次に演算
int a = 1;
int b = a++;
System.out.print(a);//a=2
System.out.print(b);//b=1
例: ++a: 最初に演算、次に代入
int a = 1;
int b = ++a;
System.out.print(a);//a=2
System.out.print(b);//b=2
2. 代入演算子
3. 比較演算子(関係演算子)
知らせ:
1.>、<、>=、<= は、左オペランドと右オペランドが数値型であることのみをサポートします。
2.==、!= 両側のオペランドは数値型または参照型のいずれかになります。
3.== 基本データ型を比較する場合、値が比較されます。参照データ型を比較する場合、アドレスが比較されます。
4. 論理演算子
「&」と「&&」の違い
& が 1 つある場合は、左側が true か false かに関係なく、右側が計算されます。
二重 & を使用した場合、左側が true の場合は右側が操作に参加し、左側が false の場合は右側は操作に参加しません。
"|" と "||" の違いは同じで、 || は、左辺が true の場合、右辺は演算に参加しません。
5. ビット演算子
ビット演算は、整数のバイナリ表現に対して直接実行される演算です。
6.三項演算子
構文形式: ブール式? 式 1: 式 2
ブール式は true で、演算結果は式 1 です。それ以外の場合、結果は式 2 になります。
int a = (10>3) ? 5 : 10;//10>3为true,a=5
int a = (10<3) ? 5 : 10;//10<3为false,a=10
(5) 演算子の優先順位
(6) プログラムフロー制御
構造化プログラミングで規定される基本的な処理構造は、シーケンシャル構造、分岐構造、ループ構造の 3 つです。
シーケンシャル構造
プログラムは上から下に実行されます。
public class Test{
int num1 = 12;
int num2 = num1 + 2;
}//java中定义成员变量时采用合法的向前引用。
分岐ステートメント if-else
if ステートメントには 3 つの形式があります。
ブランチステートメント switch-case
public class SwitchTest {
public static void main(String args[]) {
int i = 1;
switch (i) {
case 0:
System.out.println("one");
break;
case 1:
System.out.println("two");
break;
default:
System.out.println("other");
break;
}
}
}
知らせ:
1. switch (expression) の式の値は、byte、short、char、int、enumeration (jdk 5.0)、String (jdk 7.0) のいずれかのタイプである必要があります。
2. Break 文は、case 分岐実行後に switch 文ブロックからプログラムを飛び出すために使用され、break がない場合は switch の終了までプログラムが順次実行されます。
ループ構造
ループ ステートメントは 4 つのコンポーネントで構成されます
1.初期化部
2. ループ条件部
3. ループ本体部分
4. 反復部分
ループ構造: for ループ
public class ForLoop {
public static void main(String args[]) {
int result = 0;
for (int i = 1; i <= 100; i++) {
//1.初始化部分 2.循环条件部分 3.迭代部分
result += i;//循环体部分
}
System.out.println("result=" + result);
}
}
ループ構造: while ループ
public class WhileLoop {
public static void main(String args[]) {
int result = 0;
int i = 1;//1.初始化部分
while (i <= 100) {
//循环条件
result += i;//循环体部分
i++;//迭代部分
}
System.out.println("result=" + result);
}
}
ループ構造: do-while ループ
public class DoWhileLoop {
public static void main(String args[]) {
int result = 0, i = 1;//初始化部分
do {
result += i;//循环体部分
i++;//迭代部分
} while (i <= 100);//循环条件部分
System.out.println("result=" + result);
}
}
注: while と do...while の違い
- while: まず判断してから実行します。条件が true でない場合、ループ本体は再度実行されません。
- do...while: 最初に実行してから、条件が true でないかどうかを判断します。ループ本体は少なくとも 1 回実行されます。
(8) 特別なキーワード ブレーク、コンティニュー
ブレークステートメント
Break ステートメントは、ステートメント ブロックの実行を終了するために使用されます。
public class BreakTest{
public static void main(String args[]){
for(int i = 0; i<10; i++){
if(i==3)
break;//当条件成立时,终止for循环
System.out.println(" i =" + i);
}
System.out.println("Game Over!");
}
}
継続ステートメント
continue はループ構造内でのみ使用できます
continue ステートメントは、loop ステートメント ブロックの 1 つの実行をスキップし、次のループを継続するために使用されます。
public class ContinueTest {
public static void main(String args[]){
for (int i = 0; i < 100; i++) {
if (i%10==0)
continue;//跳出成立的循环
System.out.println(i);
}
}
}
知らせ:
1.return: ループを終了するために特に使用されるわけではなく、その機能はメソッドを終了することです。メソッドが return ステートメントに到達すると、メソッドは終了します。
2. Break や continue とは異なり、return はループのレベルの数に関係なく、メソッド全体を直接終了します。