java数据类型代表价格_解读Java数据及数据类型内幕
(2)字符型
計算機除了處理數值數據,還要處理字符數據。Java語言提供了一種char數據類型,用于字符數據。char類型占2個字節的存儲空間,該類型可以存儲英文字符,也可以存儲單個漢字。
char型變量只能存儲單個英文和中文字符,即可以把字符直接賦值給char型變量,也可以直接把字符所在字符集的編碼賦值給char型變量,Java輸出char型變量時,輸出到顯示設備(如電腦屏幕)的是字符本身。
(3)布爾型
布爾類型是表示邏輯狀態的類型,在詳解Java表達式與運算符一文中談到關系運算符和邏輯運算符運算返回的結果是布爾值,這個布爾值就是布爾型。java語言通過關鍵字boolean來定義布爾型變量,只有true和false兩個值,分別代表布爾邏輯中的“真”和“假”。Java語言雖然定義了boolean這種數據類型,但是只對它提供了非常有限的支持。在Java虛擬機中沒有任何供boolean值專用的字節碼指令,Java語言表達式所操作的boolean值,在編譯之后都使用Java虛擬機中的int數據類型來代替。
boolean變量編譯后被轉換為int變量,占用4個字節的存儲空間,true被轉換為1賦值給int變量,false被轉換為0賦值給int變量。因此,程序需要判斷數值的真或假時,既可以用boolean類型變量,也可以用int類型的變量,當然也可以用byte類型的變量。
引用數據類型
前面例1中的圖書目錄是一個表結構,包含多個數據項,類似圖書目錄這樣的表結構,顯然不適合用前面的基本數據類型表示。后面會講到Java類,Java類可以存儲這樣的表結構。
關于Java類,在使用Eclipse集成開發工具編寫程序一文中已經使用過,如System類和Scanner類,System類可以直接使用,Scanner類則需要聲明并用new運算符初始化后才能使用。Scnaaer類的聲明及初始化代碼如下:
Scanner sc;
sc = new Scanner(System.in);
代碼首先聲明了Scanner類的變量sc,此時,Java虛擬機為變量sc分配了一個4字節的存儲空間。當調用new運算符初始化Scanner類時,Java虛擬機為Scanner類分配存儲空間,并把該存儲空間的地址賦值給sc的存儲空間。如下圖所示。
從圖中可以看出,變量sc存儲了Scanner存儲空間的地址,利用該地址能夠訪問到Scanner的存儲空間,意味著可以使用Scanner提供的屬性和方法。
類似采用上圖鏈式存儲結構方式存儲的數據,其類型稱為引用數據類型。因為數據并沒有直接存儲在變量的存儲空間,而是存儲到另外一個空間,變量的存儲空間僅是存儲了另外一個空間的地址。這樣處理的好處是進行類的傳遞時,只需要把類對象的地址傳過去就可以了,無需傳遞類對象本身。
■ 文章小結
1、數據在我們的生活中隨處可見,家庭的收入和支出、填寫的銀行存款單、電視播放的天氣預報、新聞等等都屬于數據的范疇。計算機數據將現實世界的數據抽象后,形成了基礎數據數值型、字符型、和布爾型,并在基礎數據的基礎上產生復合數據(表、圖、樹等數據),以及圖片、音視頻等數據。
2、數據有兩種方式的存儲結構。一種是順序存儲結構,數據存儲在連續的內存區域中。一種是鏈式存儲結構,邏輯上相鄰的數據在物理存儲上并不相鄰,要訪問應用鏈式存儲結構存儲的數據,需要使用數據地址進行訪問。
3、數據類型給出了數據所需存儲空間大小以及數據所表示的精度、特性及范圍。按照存儲方式的不同,數據類型又分為基本數據類型和引用數據類型。基本數據類型采用順序存儲結構,引用數據類型采用鏈式存儲結構。在數據傳遞過程中,基本數據類型是傳值,引用數據類型是傳地址。引用數據類型多用于Java類對象。
■ 思考與練習
1、家中一般都有書架,書架上放著很多圖書。請以此為例,說出數據對象、數據元素和數據項之間的關系。
2、請說出數據的順序存儲結構和鏈式存儲結構的區別。
3、請說出float和double數據類型的區別。
總結
以上是生活随笔為你收集整理的java数据类型代表价格_解读Java数据及数据类型内幕的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java线程通信概念_java基础线程总
- 下一篇: java中接口什么时候用_我什么时候应该