Java變量和運算符的基本知識點

在這裏插入圖片描述

上圖爲 Java 數據類型的基本分類,下民逐個來進一步進行總結。

int

在 java 中 int 不分系統,固定爲 4 個字節。並且在 java 中沒有無符號數,只有有符號數 。 int 表示的範圍大小爲 -2147483648 —— 2147483647 。可以用 Integer.MAX_VALUE 取到 int 的最大值,取最小值則爲 Integer.MIN_VALUE 。

long

在 java 中 long 不分系統,固定爲 8 個字節。同樣在 java 中沒有無符號數,只有有符號數 。可以用 Long.MAX_VALUE 取到 int 的最大值,取最小值則爲 Long.MIN_VALUE 。

double & float

Java 中 double 固定佔 8 個字節, float 固定佔 4 個字節。double 爲雙精度浮點數,float 爲單精度浮點數。浮點數在計算時會存在一定誤差。通常我們建議浮點數使用 double 。

char

在 java 中 char 是 2 個字節,他可以表示一個漢字。(和 C語言中的 char 是完全不同的)

byte

byte 佔 1 個字節,他對標的是 C 語言中的 char。

short

short 佔 2 個字節,表示的數據範圍是-32767——32768.
注意⚠️:short 和 char 是兩種完全互不相干的類型,更不能相互轉換。

boolean

boolean 類型的變量只有兩種取值, true 表示真,false 表示假。
boolean 類型和 int 不能相互轉換,不存在 1 表示真,0表示 false 這樣的用法。

String

形如"hello" 這樣的字符串常量類型,也就是 String 類型。
字符串可以相加,相當於字符串拼接。

long 和 int 相互賦值

只能將表示範圍小的賦值給表示範圍大的。否則會發生截斷。如果確實想賦值,可以使用強制類型轉換。
注意⚠️:

byte a = 10;
byte b = 20;
byte c = a + b;

這樣的代碼是會報錯,因爲 a + b 的結果會先被轉換成 int 在賦值給 c ,int 表示的範圍比 byte 大,所以就會出錯。

運算符

  • 基本四則運算 + - * / %

0 不能作爲除數,並且 Java 中 不僅僅可以對 int 求模,也能對 double 求模。

  • 增量賦值運算符 += -= *= /= %=
int a = 10;
a += 1; 
//等價於 a = a + 1;
  • 自增自減運算符 ++ –

如果++或-- 不去取表達式的返回值的時候,就是等價的。前置++ 返回的是自增之後的值,後置++返回的是自增之前的值。

  • 關係運算符 == != < > <= >=
    關係運算符的表達式的返回值都是 boolean 類型
  • 邏輯運算符
    && || !
    邏輯運算符的操作數(操作數往往是關係運算符的結果)和返回值都是boolean。
    (短路求值是如果某一個表達式能整個表達式的結果,則後面的表達式不再執行)
    在 java 中 & 和 | 也是 && 和 || 的意思,只不過後者不支持短路求值。
  • 位運算符 & ! ~ ^
    按位 & :相同爲 1 則爲 1 ,否則爲 0
    按位 | :相同爲 0 則爲0, 否則爲 1
    按位取反~:該位是0則轉爲1,是1則轉爲0
    按位^:相同則爲0,相異則爲1
  • 移位操作符:<< >> >>>
    左移(<<):最左側爲不要了,最右側補0
    右移:算術右移(>>)左側補符號位
    邏輯右移(>>>)左側補0
  • 條件運算符
    表達式1 ?表達式2 : 表達式3
    表達式1條件成立則返回表達式2,否則返回表達式3。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章