Java学習ノート第05期——Java基礎文法Part 4
Java基礎文法Part 4
私のノート共有に関するブログでは、MDノートファイルを別途公開し、友达がダウンロードして勉強するのに便利です.(ファンはダウンロード可能)今期ノートファイルダウンロードアドレス:https://download.csdn.net/download/lbwnbnbnbn/15225075
Ayo皆さんこんにちはTomatoooです.これは私のJava学習ノートの第4期です.あまり話をしないでテーマを挿入します.
えんざん
せいすうえんざん
Java整数演算は四則演算の原則に従い、括弧などを用いることができる.
整数は演算時に整数部分だけが残り、想定通り四捨五入されるわけではありません
余剰演算使用%
例:
特に注意:整数の除算は、除算が0の場合に実行時にエラーが発生しますが、コンパイルではエラーは発生しません.
あふれ出る
前述したように、整数には範囲制限があり、計算結果が範囲を超えているとオーバーフローし、オーバーフローはエラーが発生せず、予想外の結果しか得られません.
自増/自減
Javaは、1つの整数に対して1を加算および1を減算することができる
注意:
シフト演算
コンピュータでは、整数は常にバイナリ形式で表されます.
例えば、
整数をシフト演算できます.整数
例:
29ビット左シフトでは,最高位が
同様に、右シフト記号は>>
シンボルビットにかかわらず、右シフト後の高位は常に
よく見ると、左に移動するのは実際には絶えず×2,右シフトは実際には絶えず÷2である.
ビット演算
、または、非和異和の演算と演算:2つの数が同時に である.または演算:いずれかが である.非演算: を交換する.
例:異或演算:2つの数が異なる場合、結果は である.
例:
2つの整数に対してビット演算を行い、実際にはビットごとに整列し、各ビットを順次演算します.
えんざんゆうせんど
Javaの計算式では、演算の優先度が高い順に次のようになります.
全部覚える必要はありません.正しいことを確認するにはカッコをつければいいです.
ここまで見てきたんだから、注目しないか(~ ̄▽ ̄)~
私のノート共有に関するブログでは、MDノートファイルを別途公開し、友达がダウンロードして勉強するのに便利です.(ファンはダウンロード可能)今期ノートファイルダウンロードアドレス:https://download.csdn.net/download/lbwnbnbnbn/15225075
Ayo皆さんこんにちはTomatoooです.これは私のJava学習ノートの第4期です.あまり話をしないでテーマを挿入します.
えんざん
せいすうえんざん
Java整数演算は四則演算の原則に従い、括弧などを用いることができる.
整数は演算時に整数部分だけが残り、想定通り四捨五入されるわけではありません
余剰演算使用%
例:
int a = 66666%123 // 66666/123
特に注意:整数の除算は、除算が0の場合に実行時にエラーが発生しますが、コンパイルではエラーは発生しません.
あふれ出る
前述したように、整数には範囲制限があり、計算結果が範囲を超えているとオーバーフローし、オーバーフローはエラーが発生せず、予想外の結果しか得られません.
自増/自減
Javaは、1つの整数に対して1を加算および1を減算することができる
++
演算および--
演算を提供する.注意:
++
は前と後で計算結果が異なり、++n
は1を加えてnを参照し、n++
はnを先に参照して1を加えることを示す.シフト演算
コンピュータでは、整数は常にバイナリ形式で表されます.
例えば、
int
型の整数7
は、4バイトで表されるバイナリを以下のように用いる.00000000 00000000 00000000 00000111
整数をシフト演算できます.整数
7
を1ビット左にシフトすると整数14
が得られ、左にシフトすると整数28
が得られる例:
int n = 7; // 00000000 00000000 00000000 00000111 = 7
int a = n << 1; // 00000000 00000000 00000000 00001110 = 14
int b = n << 2; // 00000000 00000000 00000000 00011100 = 28
int c = n << 28; // 01110000 00000000 00000000 00000000 = 1879048192
int d = n << 29; // 11100000 00000000 00000000 00000000 = -536870912
29ビット左シフトでは,最高位が
1
となったため,結果は負数となった.同様に、右シフト記号は>>
シンボルビットにかかわらず、右シフト後の高位は常に
>>>
を補うことを特徴とするシンボルレス右シフト演算もある.そのため、負の数を0
右シフトすると、最高位の>>>
が0になったため、正数になる.1
とbyte
のタイプをシフトすると、まずshort
に変換してからシフトします.よく見ると、左に移動するのは実際には絶えず×2,右シフトは実際には絶えず÷2である.
ビット演算
、または、非和異和の演算
int
でなければならず、結果は1
1
である限り、結果は1
1
と0
は例:
n = ~0; // 1
n = ~1; // 0
1
、そうでない場合は1
例:
n = 0 ^ 0; // 0
n = 0 ^ 1; // 1
n = 1 ^ 0; // 1
n = 1 ^ 1; // 0
2つの整数に対してビット演算を行い、実際にはビットごとに整列し、各ビットを順次演算します.
public class Main {
public static void main(String[] args) {
int i = 167776589; // 00001010 00000000 00010001 01001101
int n = 167776512; // 00001010 00000000 00010001 00000000
System.out.println(i & n); // 167776512
}
}
えんざんゆうせんど
Javaの計算式では、演算の優先度が高い順に次のようになります.
0
()
!
~
++
--
*
/
%
+
-
<<
>>
>>>
&
|
+=
-=
*=
全部覚える必要はありません.正しいことを確認するにはカッコをつければいいです.
ここまで見てきたんだから、注目しないか(~ ̄▽ ̄)~