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
遍歷
多維數組本質上是數組的數組