尚硅谷JavaSE基礎(chǔ)

2.5 數(shù)據(jù)類型

2.5.1?分類

對于每一種數(shù)據(jù)都定義了明確的具體數(shù)據(jù)類型,在內(nèi)存中分配了不同大小的內(nèi)存空間。

2.5.2?整型

  • Java各整數(shù)類型有固定的表數(shù)范圍和字段長度,不受具體OS的影響,以保證java程序的可移植性。
  • java的整型常量默認為 int 型,聲明long型常量須后加‘l’或‘L’
  • java程序中變量常聲明為int型,除非不足以表示大數(shù),才使用long

2.5.3?浮點型

  • 與整數(shù)類型類似,Java 浮點類型也有固定的表數(shù)范圍和字段長度,不受具體OS的影響。
  • Java 的浮點型常量默認為double,聲明float型常量,須后加‘f’或‘F’。
  • 浮點型常量有兩種表示形式:
    • 十進制數(shù)形式:如:12 ??????512.0f ???????.512 ??(必須有小數(shù)點)
    • 科學(xué)計數(shù)法形式:如:12e2 ?????512E2 ????100E-2
    • 通常情況下,應(yīng)該使用double型,因為它比float型更精確。

2.5.4?字符型

  • char 型數(shù)據(jù)用來表示通常意義上“字符”(2字節(jié))
  • 字符型常量的三種表現(xiàn)形式:
    • 字符常量是用單引號(‘ ’)括起來的單個字符,涵蓋世界上所有書面語的字符。例如:char c1 = 'a'; ??char c2 = '中'; char c3 = ?'9';
    • Java中還允許使用轉(zhuǎn)義字符‘\’來將其后的字符轉(zhuǎn)變?yōu)樘厥庾址统A?。例如:char c3 = ‘\n’; ?// '\n'表示換行符
    • 直接使用 Unicode 值來表示字符型常量:‘\uXXXX’。其中,XXXX代表一個十六進制整數(shù)。如:\u000a 表示 \n。
  • char類型是可以進行運算的。因為它都對應(yīng)有Unicode碼。

2.5.5?布爾型

  • boolean 類型適于邏輯運算,一般用于程序流程控制:
    • if條件控制語句; ?????????????????
    • while循環(huán)控制語句;
    • do-while循環(huán)控制語句; ?????
    • for循環(huán)控制語句;
  • boolean類型數(shù)據(jù)只允許取值true和false,無null。
    • 不可以0或非 0 的整數(shù)替代false和true,這點和C語言不同。
    • Java虛擬機中沒有任何供boolean值專用的字節(jié)碼指令,java語言表達所操作的boolean值,在編譯之后都使用java虛擬機中的int數(shù)據(jù)類型來代替:true用1表示,false用0表示《java虛擬機規(guī)范8版》?

2.5.6?數(shù)據(jù)類型轉(zhuǎn)換

1、基本數(shù)據(jù)類型之間的轉(zhuǎn)換

注意:boolean除外

大小關(guān)系:

①自動類型轉(zhuǎn)換

規(guī)則:小——>大

語法:double d = 1;

②強轉(zhuǎn)類型轉(zhuǎn)換

規(guī)則:大——>小

語法:int i = (int)1.5;

特點:

①自動提升的原則。表達式的最終結(jié)果的類型為?操作數(shù)中最大的類型!

②強轉(zhuǎn)符號只針對于最近的操作數(shù)有效,一般使用小括號提升優(yōu)先級

2、String類型和基本類型之間的轉(zhuǎn)換

①基本類型——>String類型

規(guī)則:直接拼接空字符串即可

語法:

char c = '中';

String s = c+"";

String類型——>基本類型

規(guī)則:除char之外,其他的都是通過?包裝類型.parseXX的方法

語法:

除char之外:

String s = "12345";

int i = Integer.parseInt(s);

char:

String s = "asfgh";

char c = s.charAt(1);//提取單個字符

char[] ch = s.toCharArray();//將整個字符串轉(zhuǎn)換成字符數(shù)組