1.基本データ型の変換
まず、基本的なデータ型とは何か、それらが占めるバイト数、およびそれらの間の変換順序を明確にする必要があります。
1.1 基本的なデータ型は次のとおりです。
- 整数型: byte (1 バイト)、short (2 バイト)、int (4 バイト)、long (8 バイト)。
- 浮動小数点型: float (4 バイト)、double (8 バイト)。
- 文字の種類: char (2 バイト)。
- ブール型: ブール型は他の型に変換できません (ブール型には true と false しかないため)。
1.2 基本的なデータ型の変換規則:
小容量から大容量へ直接変換できます。例えば。:
byte a = 6;
int b = a;
float は 4 バイトですが、10 進数のバイナリ記憶構造は整数のバイナリ記憶構造とは異なるため、4
バイトの float は 4 バイトの int よりも大きく、8 バイトの長さよりも大きくなります。 。
基本データ型間の変換シーケンスは次のとおりです。
byte->short->char->int->long->float->double
2.オペレーター
2.1 算術演算子:
+ : 1. 加算演算 value + value (char は演算に参加できます)
2. 文字列接続 value + string string + string == String
- : value - value (char は演算に参加できます)
* : value * value ( char
/: 数値/数値 (char は演算に参加可能) %
: 剰余値を取る/数値 (char は演算に参加可能)
++: 1 ずつ増加します。混合演算の場合は、++ に注意してください。 ++の前は増加します 後は自動増加します
-:1減少します、 - 前は自動増加します - 後は後者は自動増加します
2.2 関係 (比較) 演算子:
>、<、>=、<=、、! =。
文字型: >、<、>=、<=、、!= はすべて数値間の大小比較に使用されます (char)
== != は参照型間の比較にも使用できます
2.3 代入演算子:
=、+=、-=、*=、/=、%= (つまり、代入演算子の右側の値を左側に代入します)
注:代入する場合は、宣言されたデータ型と一致する値の型に注意すると同時に、代入演算子は暗黙的にデータ型変換を実行する可能性があるため、変数の型にも注意してください。
2.4 論理演算子:
シンボルの左側と右側は論理値です
- & -- 論理積
注: すべての式は true を返し、結果も true になりますが、そのうちの 1 つが false を返した場合、結果は false になります。最初の論理 AND 式の結果が false の場合でも、後続の式は実行されます。
- &&-- 論理積 (短絡 AND)
注: すべての式は true を返し、結果も true になります。そのうちの 1 つが false の場合、結果は false になります。&& 最初の式が false の場合、後続の式は実行されません。
- | -- 論理和
注: すべての式のうち、1 つが true である限り、結果は true になり、すべてが false の場合、結果は false になります。最初の式が true の場合、後続の式は引き続き実行されます。
- || -- 論理 OR (短絡 OR)
注: すべての式のうち、1 つが true である限り、結果は true になり、すべてが false の場合、結果は false になります。最初の式が true の場合、後続の式は実行を継続しません。
- !--- 論理的 NOT
例:System.out.println(!(a>b));//!true --> false
- ^ -- 論理 XOR
注: 同じは偽、違いは真
2.5 条件演算子(三項演算子/三項演算子)
(条件式)?式1:式2
まず条件式を実行します。
条件式の値が true の場合は式 1 を実行し、
条件式の値が false の場合は式 2 を実行します。
最終的に、expression1 とexpression2 は結果を返さなければなりません
例えば:
if(num>60){
System.out.println("成绩合格");
}else{
System.out.println("成绩不合格");
}
2.6 ビット演算:
これは、値の 2 進ビットに対する演算を指します
<< 左シフト
>> 右シフト
>>> 符号なし右シフト
& | ^ 左辺と右辺が論理値の場合は論理演算であり、左辺と右辺が論理値の場合は論理演算です。辺は論理値ではなく、単なるビット演算です
~
3. ループ文
3.1 if ステートメント
if ステートメントの基本構造は次のとおりです。
if(条件){
语句;
}else{
语句;
}
if ステートメントの入れ子構造:
if (条件1){
语句1;
} else if (条件2){
语句2;
}……
}else if (条件N){
语句N;
}
3.2 switch ステートメント
switch (表达式){
case value1: {
语句1;
break;//结束本次循环
}
…………
case valueN:
{
语句N;
break;
}
default : {
缺省语句;
}
}
知らせ:
- 式には、byte、short、int、char、または列挙型を使用できます。JDK 7 以降では、String 型を使用できます。
- case ステートメントの後には定数式のみを使用できます。
- case の後の値を繰り返すことはできません。
- case ブランチに Break ステートメントが指定されていない場合は、次の case の後のステートメントが引き続き実行されます。
- 式の値が case 句の値と一致しない場合は、default 句に続く文が実行されます。default 句がない場合、プログラムは switch 文から直接飛び出します。
3.3while および do whileステートメント
while(逻辑表达式)
{
语句;
… ;
}
実装プロセス:
do while ステートメントは次の形式になります。
do
{
语句;
… ;
} while(逻辑表达式);
for(表达式1; 表达式2; 表达式3){
语句;
… ;
}
実装プロセス:
public static void main(String args[]) {
for (int i = 1; i <= 10; i++) {
System.out.println(“i=" + i);//遍历输出i
}
}
4. ループの入れ子
- ネストされたループは、ループを別のループの本体内に配置することによって形成されます。このうち、for、while、do...while は外側のループと内側のループとして使用できます。
- 基本的に、ネストされたループは、内側のループを外側のループのループ本体として扱います。内側のループのループ条件のみが false の場合、内側のループは完全に飛び出し、現在の外側のループを終了して次のループを開始できます。
-
外側のループの終了
-
多層ループから抜け出す必要がある場合は、ラベルを使用し、label などのラベルを定義してから、抜け出す必要がある場所でブレーク ラベルを使用する必要があります。
5.return文
- return 式; //式の値を返す
- return; //値を返しません。メソッド記述内で void を使用して戻り値なしを宣言する場合、この形式が使用できます。この種の return 文は省略できる場合があります。