計算機時識別不了我們編寫的程式碼語言,計算機中的資料全部採用二進位制表示,即0和1表示的數字,每一個0或者1就是一個位,一個位叫做一個bit(位元)。(實際上計算機只能識別高低電平,而不是0和1。)
位元組是計算機中最小的儲存單位,8個bit表示一個位元組,計算機中的任何資料都是以位元組進行儲存。
●8bit=1 B
●1024B=1 KB
●1024KB=1MB
●1024 MB=1 GB
●1024GB= 1 TB
... ...
基本資料型別(四類<整數型、浮點型、字元型、布林型>八種<byte、short、int、long、float、double、boolean、char>):
注意:①java中的預設型別:整數型預設int,浮點型別預設double。
②單精度浮點數float精確到小數點後7位,雙精度浮點數double精確到小數點後15位。
引用資料型別--String、類、介面、陣列... ...
資料型別轉換:
①自動轉換(java虛擬機器自動執行):將取值範圍小的型別自動提升為取值範圍大的型別。(如byte/short/char運算時直接提升為int)
byte、short、 char --> int --> long --> float --> double
②強制轉換(手動執行):將取值範圍大的型別強制轉換為取值範圍小的型別。
轉換格式:資料型別變數名 = (資料型別) 被轉資料值;
注意:● 浮點轉成整數,直接取消小數點,可能造成資料損失精度。
● int強制轉成short砍掉2個位元組,可能造成資料丟失(資料溢位)。
運算子:
算數運算子:①整數的除數不能為0,負責報java.lang.ArithmeticException算術運算異常;
②浮點數的除數可以為0,因為被除數為浮點型,此時虛擬機器會將除數作自動向上轉型,而使得除數趨於無窮小,使得結果趨於無窮大Infinity;
③取餘運算中的符號由被除數的符號決定。如-10%3 = -1;10%-3 = 1。
賦值運算子(資料型別向下轉換時,虛擬機器會強制轉換。如short s =1;s += 1;結果是沒有問題的,因為 += 是一個運算子,只執行一次運算,並帶有強制轉換的特點。):
比較運算子:
邏輯運算子:
三元運算子:
面試題:下面的程式有問題嗎: