1. 程式人生 > 其它 >7.16第二天jave學習

7.16第二天jave學習

字串: String類(不是基本資料型別,屬於引用資料型別)
值null可以賦值給任何引用型別(類、介面、陣列)的變數,用以表示這個引用型別變數中儲存的地址為空。

String類是一個典型的不可變類,String物件創建出來就不可能被改變。
創建出的字串將存放在資料區,保證每個字串常量只有一個,不會產生多個副本。中資料型別變數做運算
String可以和8種資料型別做運算,其運算只能是連線運算:+,運算結果還是String型

5、基本資料型別轉換
5.1、自動型別提升
容量小的型別變數自動轉換為容量大資料變數。按容量大小(表示數的範圍,不是位元組數的多少)排序為:

有多種型別的資料混合運算時,系統首先自動將所轉換成容量最大那種資料型別,然後再進行計算。
byte,short,char 之間不會相互轉換,他們三者在計算時首先為 int 型別 。
boolean 型別不能與其它資料運算。
當把任何基本資料型別的值和字串 (String) 進行連線運算時 (+) ,基本資料型別的值將自動轉化為字串 (String) 型別 。

5.2、強制型別轉換
自動型別轉換的逆過程 ,將容量大的資料型別轉換為容量小的資料型別。使用時要加上強制轉換符 :() ,但可能造成精度降低或溢位 ,格外要注意 。
通常 ,字串不能直接轉換為基本型別 ,但通過基本型別對應的包裝類則可以實現把字串轉換成基本型別 。
Ø如: String a = “97”; int i = Integer.parseInt (a);
Øboolean 型別不可以轉換為其它的資料型別。

6、變數
按宣告位置分類
在方法體外,類內宣告的變數稱為 成員變數 。
在方法體內部宣告的變數稱為 區域性變數 。

兩者在初始化值方面的異同:
異:區域性變數除形參外,需顯示初始化
同:都有生命週期

7、運算子
算術運算子

取模運算的結果正負號與被模數有關
自增運算不會改變本來的資料型別

賦值運算子
符號: =
Ø當“=”兩側資料型別不一致時, 可以使用自動型別轉換或使用強制型別轉換原則進行處理 。
Ø支援連續賦值 。
擴充套件賦值運算子: +=, -=, *=, /=, %=

比較運算子

比較運算子的結果都是 boolea型,也就是要麼true,要麼是 false 。

邏輯運算子
&—邏輯與 | —邏輯或 !—邏輯非
&& —短路與 || —短路或 ^ —邏輯異或

邏輯運算子用於連線布林型表示式,在 Java中不可以寫成 3<x<6,應該寫 成x>3 & x<6。
& 與 && 的結果相同

&和&&的區別
單&時,左邊無論真假,右邊都參與運算
雙&時,左邊為真,右邊參與運算。左邊為假,右邊不參與運算

|和||的區別 與上同理

位運算子


位運算子直接對整數(整型)的二進位制進行運算
<< : 在一定範圍( int 32位)內,每向左移一位,相當於 * 2

: 右移 (如果最高位為1 複數 拿1補,如果最高位為0 正數 拿0補)

三元運算子
格式: (條件表示式)?表示式一:表示式二; //必須返回一個結果(表示式)
條件表示式的結果為Boolean型
凡是可以使用三元運算子的地方都可以改寫為if else 語句,反之不成立

運算子優先順序