Javaの基本構文
1.キーワードと予約語
1.キーワードの定義と特徴
- 特別な意味と目的を持つ文字列
- キーワードの文字はすべて小文字です
- 例えば
データのキーワードを定義する |
プロセスのキーワードを定義する |
権限を定義するキーワード |
クラス |
もし |
民間 |
インターフェース |
そうしないと |
保護された |
int |
一方 |
公衆 |
2.予約語
- 現在のJavaバージョンは使用されておらず、将来的にgotoconstを使用する可能性があります。
第二に、識別子
1.識別子の概念
- 英数字のアンダースコアで構成されます$
- 数字で始めることはできません
- キーワードや予約語は避けてください
- 大文字と小文字を区別
- ブック名などのスペースを含めることはできません----> book_name
2.命名規則
- 小文字のパッケージ名
- クラス名の単語が1つしかない場合は、最初の文字が大文字になります。複数の単語の場合は、各単語の最初の文字が大文字になります。
- インターフェイス名と同様の名前
- 変数名とメソッド名の最初の文字は小文字です。複数の単語がある場合は、最初の単語の最初の文字のみが小文字になります。
- MAX_VALUEのように、定数名は大文字になります
- 名前を付けるときは、book_namebook_priceという名前に注意してください。
3つ、変数
1.変数の概念
- データをメモリに保存するために使用されます
- 使用前に宣言する
- {}の範囲内でのみ有効です
{
{
int x=0;}
x=1;
}
2.変数の分類
基本データ型 |
参照データ型 |
バイト |
クラス(文字列はクラスに属します |
ショート |
インターフェース |
int |
アレイ[] |
長いです |
|
浮く |
|
ダブル |
|
char |
|
ブール値 |
|
8種類 |
3種類 |
メンバー変数 |
ローカル変数 |
クラス本体で宣言する |
メソッド本体で宣言する |
インスタンス変数 |
正式なパラメータ |
クラス変数の静的変更 |
メソッドで定義されたローカル変数 |
|
コードブロック内のローカル変数 |
デフォルト値があります |
初期化を表示する必要があります |
の種類 |
占有バイト |
表現範囲 |
バイエット |
1 |
-128〜127 |
ショート |
2 |
-2 15〜2 15 -1 |
int(デフォルトタイプ) |
4 |
-2 31〜2 31 -1 |
長いです |
8 |
-2 63〜2 63 -1 |
3.基本的なデータ型の変換
- 小容量は自動的に大容量タイプ
(byte char short)に変換されます—int—long—float ---- double
- バイトshortcharは、計算時に相互に変換されず、最初にintに変換されます。
- ブール型は他のデータ型では計算できません
- 強制型変換を使用する場合、強制変換記号を追加する必要がありますが、精度が低下する可能性があります
int a=3;
short b=(int)a;
4、ベース
1.二項分類
- バイナリ:0b / 0Bは2で始まり、1に入ります
- 10進数:1 2 34…
- 8進数:0から開始
- 16進数:0-9および0x / 0Xで始まるAF(af)
2.いくつかのエンコーディング
- 元のコード:数値を2進数の正の数値に変換し、最上位ビットは0、負の数値の最上位ビットは1です。
- 逆数コード:正の数の逆数コードは元のコードと同じです。負の数の逆数コードは、最上位ビットを除いて元のコードに基づいて反転されます。
- 補数コード:正の数の補数は元のコードの補数と同じであり、負の数の補数は+1の補数に基づいています
3.ベース変換
- 10進数-> 2進数に2の累乗を掛けたもの
- 2進数-> 10進数を2で割って余りを取ります
- 8進数-> 1ビットごとの2進数は、3桁の2進数011 = 001001で表されます。
- 16進数-> 2進数各ビットは4桁の2進数で表されます11 = 00010001
ファイブ、オペレーター
算術演算子 |
代入演算子比較演算、演算子 |
論理演算子 |
ビット演算子 |
三項演算子 |
+-* /% |
==!= |
&| !^ |
<< >> |
? |
++ ---- |
<> <=> = |
&& || |
>>> |
|
|
instaceof |
|
&| ^〜 |
|
- &を1つにすると、左側が真か偽かに関係なく、右側が計算されます。
- double&の場合、左側がfalseの場合、右側は計算されません
- シングル|の場合、左側が真か偽かに関係なく、右側が操作されます
- double |の場合、左側がtrueの場合、右側は計算されません
- 左にシフトすることは、2 1 >> 2 = 4を掛けて空いている位置を0で埋めることと同じです。
- 右シフトは、2 4 >> 2 = 1で除算して空のビットの符号ビットを埋めるのと同じです。
- >>>符号なし右シフト、最上位ビットは0で埋められます
int x=1;
int y=1;
if(x++==2&++y==2)
{
x=7;
}
System.out.println("x="+x+" y="+y);
int x=1;
int y=1;
if(x++==2&&++y==2)
{
x=7;
}
System.out.println("x="+x+" y="+y);
}
int x=1;
int y=1;
if(x++==2|++y==2)
{
x=7;
}
System.out.println("x="+x+" y="+y);
int x=1;
int y=1;
if(x++==2||++y==2)
{
x=7;
}
System.out.println("x="+x+" y="+y);
}
6、プログラムフロー制御
1.3つの構造
- シーケンス構造:プログラムは、判断や途中でジャンプすることなく、上から下に1行ずつ実行されます。
- ブランチ構造:if ... elseスイッチケースが選択的に実行される
- ループ構造:while do ... while forは、特定のコードを繰り返し実行します
2.switchステートメントの説明
- switch(expression)の式は、次のタイプにすることができます。byteshort char int String enum
- case句の値は定数でなければなりません
- 異なるケースの定数値は同じではありません
- ケースの後にはbreakステートメントを続ける必要がありますが、プログラムがスイッチの最後まで実行するほど良くはありません
- defaultはオプションで、一致するケースがない場合にdefaultが実行されます