日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【java基础】数据类型是啥?有啥用?

發布時間:2024/3/12 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【java基础】数据类型是啥?有啥用? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一說到數據類型,我們就會想到int,char,double等,那今天我們就詳細總結一下它們的適用范圍和使用。本文的思維架構:

變量

(1)what?-概念和分類

概念:變量相當于一個有名字的容器,里面裝的是各種不同類型的數據。

分類:
(1)根據其引用的數據類型的不同,分為基礎類型變量和引用類型的變量。關于兩者的區別和內存分析,在本文的后面會提到。
(2)根據變量的作用范圍不同,分為成員變量和局部變量。兩者的區別是:成員變量是在類范圍內定義的變量,作用范圍是類內部;局部變量是在一個方法內定義的變量,作用范圍是方法內部。

public class book{//成員變量public int a=1;//在此處不能使用bpublic void say(){//局部變量int b=2;//在此處能使用a} }

(2)why?-為什么要用變量

個人理解,變量就相當于在內存中“占地為王”,畫一塊區域,就代表了變量a。以后程序要是想對變量a賦值,則把數據放到此區域里。如果想讀取變量a的值,就訪問此內存區域即可。可見,編程就是對內存中的數據進行訪問和修改的過程。
不同的是,各變量所在的內存是不一樣的。如果是局部變量,其是在棧上分配內存的。解釋一下原因,棧是線程私有的,其里面的方法隨著調用結束而消亡,則在方法內定義的局部變量也會隨著消亡。
而成員變量是在堆內分配內存的。堆是線程公有的,不會隨著某個方法的消亡而消亡。

(3)how?-怎么用

變量的定義語法:

變量類型 變量名 [=初始值]

舉例:

int a=0;

此時的int就是變量類型,也就是今天要重點講的數據類型。數據類型分為基本類型和引用類型兩種。

基本類型

基本類型分為4類8種,其中有幾個重要的,已用紅色標出,其內存大小也已列出。

(1)int

如果我們要定義一個整數類型的變量,可以用byte、short、int、long來修飾,不過用的最多的是int。比如 int a=1。
值得注意的是,如果想定義一個long類型的變量,需要在數字后面加上“l”或“L”。就像以下的代碼是錯誤的:

long a=9999999999999

應該寫成:

long a=9999999999999L

(2)char

//定義一個字符值 char a='美'

既然提到字符值,那就順便說一下怎么定義一個字符串:

//定義一個字符串 String b="滄海月明珠有淚,藍田日暖玉生煙。"

可見,定義字符值需要用單引號,定義字符串需要用雙引號。

(3)double

說完整數,我們來說說小數。float和double可用于表示小數,double比float更精確一點,如果還需要更精確,可以使用BigDecimal類。這個類會在后續的常用類中講到。

//定義double類型的變量 double a=3.14//為了便于數位數,可以借助于下劃線。整數和浮點數均可以這樣寫 double a=3.141_592_6

(3)boolean

boolean類型就是我們所說的“真假”。“這個顏色是不是紅色”,只有真、假兩種可能。

//定義a的值為true boolean a=true;
引用類型

引用類型包括類,接口,數組等。之所以叫做引用類型,是因為訪問其值時,需要借助“指針”。

(1)引用類型和基本類型的內存分析對比


在上圖中,橘色部分為基本類型變量,其余部分為引用類型變量??梢钥闯?#xff0c;如果想訪問基本類型變量的值,直接訪問棧中內存即可。如果要訪問引用變量的屬性值,還需根據地址去堆中尋找。

(2)String

之所以將String拿出來講,是因為人們易把String當成基本類型,這是錯誤的。String屬于常用類,類是屬于引用類型的,所以String屬于引用類型。
在本文的前面部分,我們已經說過了String類的定義:

String b=“滄海月明珠有淚,藍田日暖玉生煙。”

除此之外,如果是想將基本類型變為字符串,直接和“”進行連接運算即可。

String a=5+“”;
類型轉換

類型轉換就是修改變量的數據類型。有自動類型轉換和強制類型轉換兩種。

(1)自動類型轉換(小到大)


還以“變量圖”為例,如果將小杯子的水倒入到大杯子里,是能盛下的,如果相反,則水會溢出來。同理,如果是將所占內存小的類型轉換為所占內存大的類型,則可以自動轉換過去。

//將int類型轉換為double類型 int a=1; double b=a;

(2)強制類型轉換(大到小)

就像水會溢出來丟失一樣,如果進行強制類型轉換,數據的精度也有可能丟失。比如將一個double類型的數據轉為int類型,則小數部分會丟失。下面的代碼b的值為3。

//將一個double類型的轉換為int類型 double a=3.14; int b=(int)a;
包裝類型

(1)what?

包裝類就是將8個基本類型的值包裝成對象使用。除了int和char,其余的都是將其首字母大寫即可。

基本類型包裝類
intInteger
charCharacter
doubleDouble
…………

(2)why?

將基本類型“包裝起來”,使它變成了對象,也就有了屬性和方法,就可以對其進行更多的操作。

(3)how?

在JDK1.5之后,就可以進行自動拆裝箱操作了。所謂自動裝箱,就是把一個基本類型變量直接賦值給對應的包裝類變量。

//裝箱,int變為Integer Integer a=5;

拆箱則相反:

//拆箱,將Integer變為int類型 int b=a;
小結

本文細致講解了變量的概念,基本類型的使用,基本類型和引用類型的內存分析對比,自動類型轉換和強制類型轉換,自動拆裝箱等。

總結

以上是生活随笔為你收集整理的【java基础】数据类型是啥?有啥用?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。