1 Java 基本資料類型
變量就是申請記憶體來存儲值。也就是說,當建立變量的時候,需要在記憶體中申請空間。
記憶體管理系統根據變量的類型為變量配置設定存儲空間,配置設定的空間隻能用來儲存該類型資料。
是以,通過定義不同類型的變量,可以在記憶體中儲存整數、小數或者字元。
Java 的兩大資料類型:
- 内置資料類型
- 引用資料類型
1.1 内置資料類型
Java語言提供了八種基本類型。六種數字類型(四個整數型,兩個浮點型),一種字元類型,還有一種布爾型。
1.1.1 byte:
- byte 資料類型是8位、有符号的,以二進制補碼表示的整數;
- 最小值是 -128(-2^7);
- 最大值是 127(2^7-1);
- 預設值是 0;
- byte 類型用在大型數組中節約空間,主要代替整數,因為 byte 變量占用的空間隻有 int 類型的四分之一;
- 例子:byte a = 100,byte b = -50。
1.1.2 short:
- short 資料類型是 16 位、有符号的以二進制補碼表示的整數
- 最小值是 -32768(-2^15);
- 最大值是 32767(2^15 - 1);
- Short 資料類型也可以像 byte 那樣節省空間。一個short變量是int型變量所占空間的二分之一;
- 例子:short s = 1000,short r = -20000。
1.1.3 int:
- int 資料類型是32位、有符号的以二進制補碼表示的整數;
- 最小值是 -2,147,483,648(-2^31);
- 最大值是 2,147,483,647(2^31 - 1);
- 一般地整型變量預設為 int 類型;
- 預設值是 0 ;
- 例子:int a = 100000, int b = -200000。
1.1.4 long:
- long 資料類型是 64 位、有符号的以二進制補碼表示的整數;
- 最小值是 -9,223,372,036,854,775,808(-2^63);
- 最大值是 9,223,372,036,854,775,807(2^63 -1);
- 這種類型主要使用在需要比較大整數的系統上;
- 預設值是 0L;
-
例子: long a = 100000L,Long b = -200000L。
"L"理論上不分大小寫,但是若寫成"l"容易與數字"1"混淆,不容易分辯。是以最好大寫。
1.1.5 float:
- float 資料類型是單精度、32位、符合IEEE 754标準的浮點數;
- float 在儲存大型浮點數組的時候可節省記憶體空間;
- 預設值是 0.0f;
- 浮點數不能用來表示精确的值,如貨币;
- 例子:float f1 = 234.5f。
1.1.6 double:
- double 資料類型是雙精度、64 位、符合IEEE 754标準的浮點數;
- 浮點數的預設類型為double類型;
- double類型同樣不能表示精确的值,如貨币;
- 預設值是 0.0d;
- 例子:double d1 = 123.4。
1.1.7 boolean:
- boolean資料類型表示一位的資訊;
- 隻有兩個取值:true 和 false;
- 這種類型隻作為一種标志來記錄 true/false 情況;
- 預設值是 false;
- 例子:boolean one = true。
1.1.8 char:
- char類型是一個單一的 16 位 Unicode 字元;
- 最小值是 \u0000(即為0);
- 最大值是 \uffff(即為65,535);
- char 資料類型可以儲存任何字元;
- 例子:char letter = 'A';。
2 引用類型
- 在Java中,引用類型的變量非常類似于C/C++的指針。引用類型指向一個對象,指向對象的變量是引用變量。這些變量在聲明時被指定為一個特定的類型,比如 Employee、Puppy 等。變量一旦聲明後,類型就不能被改變了。
- 對象、數組都是引用資料類型。
- 所有引用類型的預設值都是null。
- 一個引用變量可以用來引用任何與之相容的類型。
- 例子:Site site = new Site("Runoob")。
3 常量的概述
常量是指在程式運作過程中其值不能改變的量。
3.1 常量類型
Java中常量的分類:
整數常量 : 所有整數
小數常量 : 所有小數
布爾常量 : 隻有true和false
字元常量 :使用’’引起來的單個字元
字元串常量 :使用“”引起來的字元序列,“” 、“a” 、” ”
null常量 : 隻有一個值null
3.2 char 類型
char類型表示的是單個字元類型,任何資料使用單引号括起來的都是表示字元。字元隻能有一個字元,比如:普通的老百姓穿上軍裝就是軍人。
注意:特殊字元的轉義序列:轉義字元
轉義字元的概述:
特殊字元使用”\”把其轉化成字元的本身輸出,那麼使用”\”的字元稱作為轉移字元。
需求:使用輸出語句,列印出帶引号的資訊例如輸出。
System.out.println("teacher said"java is fun"");編譯是無法正常通過的。文法有錯誤,編譯器讀到第二個引号就認為是字元串的結束,剩餘的不知道怎麼處理。如何解決這個問題:java中使用轉義字元來表示特殊的字元。一個轉義字元以反斜杠(\)開始。
問題:想要列印帶引号的字元串怎麼辦,就可以使用反斜杠(\)後跟字元,這個反斜杠就是轉義字元。

\r 表示接受鍵盤輸入,相當于按下回車。
\n 表示換行。
\t 制表符,相當于Table鍵
\b 倒退鍵,相當于Back Space
\’ 單引号
\’’ 雙引号
\\ 表示一個斜跨
上述問問題解決:System.out.println("teacher said\"java is fun\"");
注意:換行符就是另起一行,回車符就是回到一行的開頭,是以我們平時編寫檔案的回車符應該确切來說叫做回車換行符
Java中這8中基本資料類型都是小寫的。
3.4 常量名的聲明規範:
多個單詞組成時,字母全部大寫,多個單詞之間使用_分隔(例:INTEGER_CACHE)
注意:隻是為了增加規範性、可讀性而做的一種約定,辨別符在定義的時候最 好見名知意,提高代碼閱讀性。
4 自動類型轉換
整型、實型(常量)、字元型資料可以混合運算。運算中,不同類型的資料先轉化為同一類型,然後進行運算。
轉換從低級到進階。
低 ------------------------------------> 高
byte,short,char—> int —> long—> float —> double
資料類型轉換必須滿足如下規則:
- 1. 不能對boolean類型進行類型轉換。
- 2. 不能把對象類型轉換成不相關類的對象。
- 3. 在把容量大的類型轉換為容量小的類型時必須使用強制類型轉換。
- 4. 轉換過程中可能導緻溢出或損失精度
- 5. 浮點數到整數的轉換是通過舍棄小數得到,而不是四舍五入
自動類型轉換
必須滿足轉換前的資料類型的位數要低于轉換後的資料類型,例如: short資料類型的位數為16位,就可以自動轉換位數為32的int類型,同樣float資料類型的位數為32,可以自動轉換為64位的double類型。
強制類型轉換
- 1. 條件是轉換的資料類型必須是相容的。
- 2. 格式:(type)value type是要強制類型轉換後的資料類型
隐含強制類型轉換
- 1. 整數的預設類型是 int。
- 2. 浮點型不存在這種情況,因為在定義 float 類型時必須在數字後面跟上 F 或者 f。
5 final關鍵字
1:定義靜态方法求圓的面積
2:定義靜态方法求圓的周長
3:發現方法中有重複的代碼,就是PI,圓周率。
1:如果需要提高計算精度,就需要修改每個方法中圓周率。
4:描述一個變量
1:方法都是靜态的,靜态隻能通路靜态,是以變量也定義為靜态的。
public static double PI=3.14;
1:如果定義為public後,新的問題,類名.PI=300; 改變了PI的值。
2:修改為private,修改為private後進行了封裝,需要getset公共通路方法。
3:現有的知識不能解決這樣的問題了。可以使用final
5.1 使用final
1:final關鍵字主要用于修飾類、類成員、方法、以及方法的形參。
2:final修飾成員屬性:
1:說明該成員屬性是常量,不能被修改。
public static final double PI=3.14;
1:public :通路權限最大
2:static :記憶體中隻有一份
3:final :是一個常量
4:常量名大寫
5:必須初指派。
2:使用類名.成員。修改該成員的值,報錯。--常量不能被修改
1:基本資料類型,final使值不變
2:對象引用,final使其引用恒定不變,無法讓其指向一個新的對象,但是對象自身卻可以被修改。
3:該關鍵字一般和static關鍵字結合使用
1:常量可以優先加載,不必等到建立對象的時候再初始化。
4:final和static可以互換位置
5:常量一般被修飾為final
3:fianl修飾類:
1:該類是最終類,不能被繼承。
1:将父類加final修飾,子類繼承,就會報錯。
2:檢視api文檔發現String類是final的。Integer類也是final的
1:為了防止代碼功能被重寫
2:該類沒有必要進行擴充
4:final修飾方法:
1:該方法是最終方法,不能被重寫
2:當一個類被繼承,那麼所有的非私有函數都将被繼承,如果函數不想被子類繼承并重寫可以将該函數final修飾
3:當一個類中的函數都被修飾為final時,可以将類定義為final的。
5:final關鍵字修飾形參
1:當形參被修飾為final,那麼該形參所屬的方法中不能被篡改。
2: 項目中主要用于一些隻用來周遊未知資料的函數。将未知變量聲明為final的。增強資料的安全性。
作者:泰鬥賢若如
微信公衆号:見賢思程式設計
Github:https://github.com/zyx110
有事微信:zyxt1637039050
本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連結,否則保留追究法律責任的權利。
我不能保證我所說的都是對的,但我能保證每一篇都是用心去寫的,我始終認同: “
分享的越多,你的價值增值越大”,我們一同在分享中進步,在分享中成長,
越努力越幸運。再分享一句話“
十年前你是誰,一年前你是誰,甚至昨天你是誰,都不重要。重要的是,今天你是誰,以及明天你将成為誰。”
人生赢在轉折處,改變從現在開始!支援我的朋友們記得點波
推薦哦,您的肯定就是我前進的動力。