Java は完全なオブジェクト指向言語です。 Java は、仮想マシンの実行メカニズムを通じて「クロスプラットフォーム」の概念を実現します。ここでは、初心者向けのチュートリアルを紹介したいと思います。誰もが役立つことを願っています。
"こんにちは世界!"
まず、HelloWorld.java プログラムを見てみましょう。このプログラムは、「Hello World!」という文字列を画面に表示します。
次のようにコードをコピーします。
パブリック クラス HelloWorld
{
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}
このプログラムには、Java のいくつかの基本機能が含まれています。
1. クラス: 上記のプログラムはクラス HelloWorld を定義しており、クラスの名前は .java ファイルの名前と同じです。
2. メソッド: クラスのメソッド main がクラス内に定義されます。
3. ステートメント: 実際の「印刷」機能は、次のステートメントによって実装されます。 System.out.println("Hello World!");
次の 2 つの点は、Java の記述方法に関連しています。
1. Java のステートメントは; で終わる必要があります (C/C++ と同じ)。
2. 中括弧 {} を使用してステートメントを統合し、プログラム ブロックを形成します。プログラム ブロックを通じて、クラスがどこで始まり、どこで終わるかなど、プログラムのさまざまな部分の範囲を知ることができます。
コンパイルして実行する
Java プログラムは、実行する前にコンパイラでコンパイルする必要があります。 Linux または Mac では、Java JDK をダウンロードしてインストールできます。
コンパイルにはjavacを使用します。コマンドラインに次のステートメントを入力してコンパイルします。
次のようにコードをコピーします。
$javac HelloWorld.java
現在のパスの下に、HelloWorld.class という名前のファイルが生成されます。
実行するにはjavaコマンドを使用します。 Java はクラス内の main メソッドを検索して実行します。
次のようにコードをコピーします。
$java HelloWorld
変数
通常、コンピュータ言語では C 言語の変数などのデータをメモリに保存する必要があり、Java にも同様の変数があります。 Java と C はどちらも静的型付け言語です。変数を使用する前に、その型を宣言します。
変数は一定量のメモリ空間を占有します。変数のタイプが異なれば、占有するサイズも異なります。 Java の変数の型は次のとおりです。
次のようにコードをコピーします。
名前のストレージ サイズの例の値の注釈
バイト 1バイト 3バイト
int 4バイト 3 整数
short 2バイト 3 short integer
long 8バイト 3のlong整数
float 4bytes 1.2 単精度浮動小数点数
double 8bytes 1.2 倍精度浮動小数点数
char 2バイトの'a'文字
boolean 1bit true ブール値
Java では、変数は使用する前に宣言する必要があります。宣言では、変数の型を記述し、プログラムの後半で呼び出せるように特別な名前を付けます。プログラム内のどこでも変数を宣言できます。
例えば:
次のようにコードをコピーします。
パブリッククラステスト
{
public static void main(String[] args)
{
System.out.println("途中で宣言:");
int a;
a = 5;
System.out.println(a); // 整数を出力します。
}
}
上の A は変数名です。 int a = 5; のように、宣言時に変数に値を割り当てることができます。
*** 「変数」の概念は、実際には手続き型プログラミング言語から来ています。 Java では、いわゆる変数は実際には「プリミティブ型」です。クラスの説明をさらに詳しく説明します。
上記のプログラムから、Java では // をコメントの先頭に使用できることもわかります。
配列
Javaには配列があります。配列には、同じ型の複数のデータが含まれます。次のメソッドを使用して整数配列を宣言します。
次のようにコードをコピーします。
int[] a;
配列に必要なスペースは、配列の宣言時に実際には割り当てられません。 new を使用すると、宣言と同時に配列に必要なスペースを作成できます。
次のようにコードをコピーします。
int[] a = 新しい int[100];
ここでは、100 個の整数を保持できる配列を作成します。対応するメモリ割り当ても完了します。
宣言と同時に配列に値を代入することもできます。配列のサイズも同時に決定されます。
次のようにコードをコピーします。
int[] a = 新しい int[] {1, 3, 5, 7, 9};
int[i] を使用して、配列の i インデックスの要素を呼び出します。私は0から始めます。
他のタイプの配列は整数配列に似ています。
表現
式は、データの一部を表す変数、定数、および演算子の組み合わせです。 1 + 1 は一般的な式です。別の例:
次のようにコードをコピーします。
パブリッククラステスト
{
public static void main(String[] args)
{
System.out.println("途中で宣言:");
int a;
a = 5 + 1;
System.out.println(a); // 整数を出力します。
}
}
上記の 5 + 1 も 6 に等しい式です。
数式
数学的演算。結果は数値です。コピーコードは次のとおりです。
1 + 2 加算
4 - 3.4 減算
7 * 1.5 の乗算
3.5/7分割
7 % 2 余りを求めます
関係式
式が真かどうかを判断します。つまり、ブール値、true または false のコピー コードは次のとおりです。
a > 4.2 は次より大きい
3.4 >= b 以上
1.5 < 9 未満
6 <= 1 以下
2 == 2 は次と等しい
2 != 2 は等しくない
ブール式
2 つのブール値の AND、OR、NOT 間の論理関係は次のとおりです。
true && false and
(3 > 1) || (2 == 1) または
!本当ではありません
ビット演算
整数のバイナリ形式に対して論理演算をビットごとに実行して、整数を取得します。コピー コードは次のとおりです。
& そして
| または
^ xor
~ではありません
5 << 3 0b101 3 ビット左シフト
6 >> 1 0b110 右シフト 1 ビット
C には次の一般的な演算子もあります。これらの演算子については、使用時に詳しく説明します。
次のようにコードをコピーします。
m++ は変数 m に 1 を加算します
n-- 変数 n マイナス 1
条件 ? x1 : x2 条件はブール値です。条件に応じてx1またはx2の値を取得します
制御構造
Java の制御構造 (制御フロー) の構文は C に似ています。これらはすべて、所属を表現するために {} を使用します。
選択(if)
次のようにコードをコピーします。
if (条件1) {
声明。
...
}
else if (条件2) {
声明。
...
}
それ以外 {
声明。
...
}
上記の条件は、true または false の値を表す式です。ステートメントはステートメントです。
2013 年がうるう年かどうかを判断する Java プログラムの作成を練習します。
ループ(while)
次のようにコードをコピーします。
while (条件) {
声明。
}
ループ (do...while)
次のようにコードをコピーします。
する {
声明。
} while(条件); // 終わりに注意してください。
ループ(for)
次のようにコードをコピーします。
for (初期; 条件; 更新) {
声明。
}
ループをスキップまたは抜け出す
ループ内では、コピーしたコードを次のように使用できます。
Break; // ループから抜け出す
continue; // 次のループに直接進みます。
1 から 2、3、そして 999 までの合計を計算する Java プログラムの作成を練習します。
選択(スイッチ)
次のようにコードをコピーします。
スイッチ(式) {
ケース1:
声明。
壊す;
ケース 2:
声明。
壊す;
...
デフォルト:
声明。
壊す;
}
オブジェクト指向
「オブジェクト」はコンピュータが世界を抽象化するための手段です。 「オブジェクト指向」はさまざまな方法で表現できます。以下は不正確ですが、より直感的に理解できる方法です。
1. 張三など、世界のすべてのものをオブジェクトと呼ぶことができます。オブジェクトにはアイデンティティ、状態、動作があります。
2. オブジェクトの状態はデータ メンバーによって表されます。データ メンバーはフィールドとも呼ばれます。他のオブジェクトをこのオブジェクトのデータ メンバーとして使用します。たとえば、鼻などの高さを表す整数です。
3. オブジェクトの動作はメンバーメソッドによって表現されます。略してメソッドと呼びます。オブジェクトには、呼吸や睡眠などの複数のメソッドを含めることができます。
4. オブジェクトは分類 (クラス) することも、同じタイプ (タイプ) に分類することもできます。同じ型のオブジェクトには、同じ型の同じメソッドとデータ メンバーがあります。特定の型のオブジェクトは、その型のインスタンスと呼ばれます。
クラスとオブジェクト
クラスを定義するための構文:
次のようにコードをコピーします。
クラスクラス名
{
メンバー1;
メンバー2;
...
}
人間のクラスを定義します。
次のようにコードをコピーします。
クラス人間
{
ボイドブレス()
{
System.out.println("ふ…ふ…");
}
整数の高さ;
}
{} のスコープ内に、Human クラスにはデータ メンバー height とメソッド Breath() という 2 つのメンバーがあります。
1. データメンバーの高さは整数型であり、整数を格納するために使用できます。
2. メソッドは、オブジェクトが実行できるアクション、つまりコンピューターが実行できる操作を表します。メソッドはパラメータを受け入れて値を返すことができます。 Breath()の定義において、Breathの後の()がパラメータリストです。パラメータ リストが空であるため、breath() はパラメータを受け入れません。 Breath() の前の void は戻り値の型であり、Breath が値を返さないことを示します。
(この方法は手続き型言語の関数に似ています)
ここで、オブジェクト aperson を作成し、オブジェクトのメソッド Breath を呼び出します。
次のようにコードをコピーします。
パブリッククラステスト
{
public static void main(String[] args)
{
人間 aperson = new Human();
aperson.breath();
System.out.println(aperson.height);
}
}
クラス人間
{
ボイドブレス()
{
System.out.println("ふ…ふ…");
}
整数の高さ;
}
main メソッドで、 new キーワードを使用してオブジェクトを作成します。同じクラスのオブジェクトであっても、各オブジェクトが占有するメモリは異なります。つまり、オブジェクトのアイデンティティも異なります。
Human aperson は、aperson オブジェクトが Human クラスに属していることを宣言し、オブジェクトの種類を示します。
オブジェクトの作成後、object.data メンバーを使用してデータ メンバーを参照し、object.method() を使用してメソッドを呼び出すことができます。後で Person.height を出力します。
要約する
Java の構文形式の多くは C/C++ に似ていますが、詳細や具体的な実装には違いがあるため、注意が必要です。
オブジェクト、クラスオブジェクト:メソッド、フィールド(データメンバー)
Java は完全なオブジェクト指向言語です。