【從基礎學 Java】運算符和數據類型

Java 是一種強類型語言,所以,Java 定義了基本數據類型。同時, Java 和其它高級計算機語言同樣,有多種運算符,這在咱們編程過程當中極爲有用。java

運算符

先從運算符談起。編程

顧名思義,運算符解決的是多個對象之間的運算問題。 Java 的運算符分爲:數組

  • 算術運算符安全

  • 關係運算符數據結構

  • 邏輯運算符ide

對於運算符的使用,這裏再也不贅述,只把惱人的運算優先級再次列出(從上到下優先級遞減)。ui

運算符 結合性
[] . ()(方法調用) 從左往右
! ~ ++ +(一元) -(一元) (強制類型轉換) new 從右往左
* / % 從左往右
+ - 從左往右
<< >> >>> 從左往右
< <= > >= instanceof 從左往右
== != 從左往右
& 從左往右
^ 從左往右
位或 從左往右
&& 從左往右
邏輯或 從左往右
?: 從右往左
= += -= *= /= %= &= ^= <<= >>= >>>= 從右往左

P.S. 結合性指定是:運算符優先級相同的時候,從左邊或右邊開始運算。編碼

數據類型

這裏,我主要想強調的是 Java 的 8 種基本數據類型以及一些經常使用的類類型。線程

基本數據類

Java 的基本數據類型同其它高級程序語言比較相似。code

有 4 種表示整數的數據類型:

  • byte

  • short

  • int

  • long

2 種表示浮點數的數據類型:

  • float

  • double

1 種表示字符的數據類型:

  • char

1 種表示布爾值的數據類型:

  • boolean

這些數據類型的使用一樣再也不贅述。不過,每一個基本數據類型都有一個對應的包裝類型:

基本數據類型 包裝數據類型
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean

包裝類型能夠進行一個基本數據類型進行封裝、獲取基本數據類型的最大/最小值以及把字符串轉換成一些基本數據類型等一系列操做。在實際開發過程當中,比較好用。

經常使用類類型

除了一些基本數據類型, Java 提供的一些類類型,使用頻率也很高。這裏把它們拿出來總結一下。

字符串類型

廣義上, Java 的字符串就是 Unicode 字符序列(關於 Unicode ,能夠參見字符集與字符編碼裏的說明)。

在 Java 中,字符串是不可變的,即:一個字符串被建立出來後,這一塊內存空間裏的值是不會被更改。咱們對於字符串的經常使用操做方法有:

  • 判斷字符串是否相等
    str.equals(str1)

  • 截取字符串
    str.subString(beginIndex, endIndex)

  • 拼接字符串
    str + str1

  • 判斷空串
    str == ""

  • 判斷null串
    str == null

若是咱們想要構造字符串,經常使用的構造器 (Builder) 有: StringBuffer 和 StringBuilder。它們之間的簡單區別是: StringBuilder 是線程安全的, StringBuffer 不是。

咱們想要拼接字符串,三者的速度上: StringBuffer > StringBuilder > String。

大數值類型

在 Java 的java.math包下,有兩個類用來表示大數,它們分別是:

  • BigInteger

  • BigDecimal

這兩個類,均可以對超出基本數據類型表示範圍的數進行構造。另外,它們的構造方法都須要傳進來一個字符串。

對於 BigInteger 而言,能夠進行 add, substract, multiply, divide 等操做;對於 BigDecimal,一樣能夠進行上述操做,不過最好給定一個 MathContext 保留有效數字。

數組類型

準確地講,數組不是一種類型,而是一種數據結構。可是數組是不少其它 Java 類(如 String、 ArrayList )的基礎,因此也拿出來講明。

在 Java 裏,數組是一種用來存儲相同數據類型對象的數據結構。 對 Java 數組,咱們應該知道的是:

  • 數組被分配出來後,長度不可變

  • 只有有length屬性,沒有length()方法

  • 可以使用for-each遍歷

  • 多維數組本質上是數組的數組

相關文章
相關標籤/搜索