一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

Java編程基礎(chǔ)----Java中有哪些數(shù)據(jù)類型?

 昵稱22369024 2015-04-22

Java中的數(shù)據(jù)類型分為基本數(shù)據(jù)類型和引用數(shù)據(jù)類型。

引用數(shù)據(jù)類型分3種:類,接口,數(shù)組

基本數(shù)據(jù)類型又分?jǐn)?shù)值類型和布爾類型

布爾類型:boolean(邏輯型) true or false 默認(rèn)是false

數(shù)值類型分定點類型和浮點類型

定點類型分字符型和整數(shù)類型

整數(shù)類型分

byte(字節(jié)類型) 一個byte 8位,占用1個字節(jié) 例32B 默認(rèn)是0

取值范圍是-27—27-1     -128~127

short(短整型) 一個short 16位,占用2個字節(jié) 例32S默認(rèn)是0

取值范圍是-215—215-1     -32768~32767

int(整型)        一個int 32位,占用4個字節(jié)    例32默認(rèn)是0

取值范圍是-231—231-1    -2147483648~2147483647

long(長整型)    一個long 64位占用8個字節(jié) 例32L默認(rèn)是0

取值范圍是-263—263-1     -9223372036854774808~9223372036854774807

字符型 char    用‘單個字符’表示 無符號    unicode字符 例 ’a’ ‘1’

取值范圍是\u0000~\uFFFF

浮點類型分

float(單精度浮點型) 一個float 32位,占用4個字節(jié) 例3.2F默認(rèn)是0.0f

取值范圍是3.4e-038—3.4e+038

 

double(雙精度浮點型) 一個double 64位,占用8個字節(jié) 例3.2 默認(rèn)是0.0

取值范圍是1.7e-038—1.7e+038

數(shù)據(jù)類型的自動轉(zhuǎn)換

(byte,short,char)--int--long--float—double

簡單數(shù)據(jù)類型之間的轉(zhuǎn)換又可以分為:

●低級到高級的自動類型轉(zhuǎn)換

低級變量可以直接轉(zhuǎn)換為高級變量,稱之為自動類型轉(zhuǎn)換

如果低級類型為char型,向高級類型(整型)轉(zhuǎn)換時,會轉(zhuǎn)換為對應(yīng)ASCII碼值

對于byte,short,char三種類型而言,他們是平級的,因此不能相互自動轉(zhuǎn)換,可以使用強(qiáng)制類型轉(zhuǎn)換。

byte,short,int三種類型都是整型,因此如果操作整型數(shù)據(jù)時,最好統(tǒng)一使用int型。

●高級到低級的強(qiáng)制類型轉(zhuǎn)換

將高級變量轉(zhuǎn)換為低級變量時,情況會復(fù)雜一些,你可以使用強(qiáng)制類型轉(zhuǎn)換,會導(dǎo)致溢出或精度的下降

●包裝類過渡類型能夠轉(zhuǎn)換

在我們討論其它變量類型之間的相互轉(zhuǎn)換時,我們需要了解一下Java的包裝類,所謂包裝 類,就是可以直接將簡單類型的變量表示為一個類,在執(zhí)行變量類型的相互轉(zhuǎn)換時,我們會大量使用這些包裝類。Java共有六個包裝類,分別是 Boolean、Character、Integer、Long、Float和Double,從字面上我們就可以看出它們分別對應(yīng)于 boolean、char、int、long、float和double。而String和Date本身就是類。所以也就不存在什么包裝類的概念了。

在進(jìn)行簡單數(shù)據(jù)類型之間的轉(zhuǎn)換(自動轉(zhuǎn)換或強(qiáng)制轉(zhuǎn)換)時,我們總是可以利用包裝類進(jìn)行中間過渡。

一般情況下,我們首先聲明一個變量,然后生成一個對應(yīng)的包裝類,就可以利用包裝類的各種方法進(jìn)行類型轉(zhuǎn)換了。例如:

例1,當(dāng)希望把float型轉(zhuǎn)換為double型時:

CODE:


float f1=100.00f;

   Float F1=new float(f1);

   Double d1=F1.doubleValue();//F1.doubleValue()為Float類的返回double值型的方法


當(dāng)希望把double型轉(zhuǎn)換為int型時:

CODE:


   double d1=100.00;

     Double D1=new Double(d1);

     int i1=D1.intValue();


當(dāng)希望把int型轉(zhuǎn)換為double型時,自動轉(zhuǎn)換:

CODE:


    int i1=200;

     double d1=i1;


簡單類型的變量轉(zhuǎn)換為相應(yīng)的包裝類,可以利用包裝類的構(gòu)造函數(shù)。即:

Boolean(boolean value)、Character(char value)、Integer(int value)、Long(long value)、Float(float value)、Double(double value)

而在各個包裝類中,總有形為××Value()的方法,來得到其對應(yīng)的簡單類型數(shù)據(jù)。利用這 種方法,也可以實現(xiàn)不同數(shù)值型變量間的轉(zhuǎn)換,例如,對于一個雙精度實型類,intValue()可以得到其對應(yīng)的整型變量,而doubleValue() 可以得到其對應(yīng)的雙精度實型變量。

3 字符串型與其它數(shù)據(jù)類型的轉(zhuǎn)換

通過查閱類庫中各個類提供的成員方法可以看到,幾乎從java.lang.Object類派 生的所有類提供了toString()方法,即將該類轉(zhuǎn)換為字符串。例 如:Characrer,Integer,Float,Double,Boolean,Short等類的toString()方法toString()方 法用于將字符、整數(shù)、浮點數(shù)、雙精度數(shù)、邏輯數(shù)、短整型等類轉(zhuǎn)換為字符串。如下所示:

CODE:


int i1=10;

float f1=3.14f;

double d1=3.1415926;

Integer I1=new Integer(i1);//生成Integer類

Float F1=new Float(f1); //生成Float類

Double D1=new Double(d1); //生成Double類

//分別調(diào)用包裝類的toString()方法轉(zhuǎn)換為字符串

String si1=I1.toString();

String sf1=F1.toString();

String sd1=D1.toString();

Sysytem.out.println("si1"+si1);

Sysytem.out.println("sf1"+sf1);

Sysytem.out.println("sd1"+sd1);


五、將字符型直接做為數(shù)值轉(zhuǎn)換為其它數(shù)據(jù)類型

將字符型變量轉(zhuǎn)換為數(shù)值型變量實際上有兩種對應(yīng)關(guān)系,在我們在第一部分所說的那種轉(zhuǎn)換中,實 際上是將其轉(zhuǎn)換成對應(yīng)的ASCII碼,但是我們有時還需要另一種轉(zhuǎn)換關(guān)系,例如,'1'就是指的數(shù)值1,而不是其ASCII碼,對于這種轉(zhuǎn)換,我們可以使 用Character的getNumericValue(char ch)方法。

六、Date類與其它數(shù)據(jù)類型的相互轉(zhuǎn)換

整型和Date類之間并不存在直接的對應(yīng)關(guān)系,只是你可以使用int型為分別表示年、月、日、時、分、秒,這樣就在兩者之間建立了一個對應(yīng)關(guān)系,在作這種轉(zhuǎn)換時,你可以使用Date類構(gòu)造函數(shù)的三種形式:

Date(int year, int month, int date):以int型表示年、月、日

Date(int year, int month, int date, int hrs, int min):以int型表示年、月、日、時、分

Date(int year, int month, int date, int hrs, int min, int sec):以int型表示年、月、日、時、分、秒

在長整型和Date類之間有一個很有趣的對應(yīng)關(guān)系,就是將一個時間表示為距離格林尼治標(biāo)準(zhǔn)時間1970年1月1日0時0分0秒的毫秒數(shù)。對于這種對應(yīng)關(guān)系,Date類也有其相應(yīng)的構(gòu)造函數(shù):Date(long date)

獲取Date類中的年、月、日、時、分、秒以及星期你可以使用Date類的 getYear()、getMonth()、getDate()、getHours()、getMinutes()、getSeconds()、 getDay()方法,你也可以將其理解為將Date類轉(zhuǎn)換成int。

而Date類的getTime()方法可以得到我們前面所說的一個時間對應(yīng)的長整型數(shù),與包裝類一樣,Date類也有一個toString()方法可以將其轉(zhuǎn)換為String類。

有時我們希望得到Date的特定格式,例如20020324,我們可以使用以下方法,首先在文件開始引入,

CODE:


import java.text.SimpleDateFormat;

import java.util.*;

java.util.Date date = new java.util.Date();

//如果希望得到Y(jié)YYYMMDD的格式

SimpleDateFormat sy1=new SimpleDateFormat("yyyyMMDD");

String dateFormat=sy1.format(date);

//如果希望分開得到年,月,日

SimpleDateFormat sy=new SimpleDateFormat("yyyy");

SimpleDateFormat sm=new SimpleDateFormat("MM");

SimpleDateFormat sd=new SimpleDateFormat("dd");

String syear=sy.format(date);

String smon=sm.format(date);

String sday=sd.format(date);


如果希望更多了解有關(guān)JAVA數(shù)據(jù)類型轉(zhuǎn)換的知識,筆者建議參考JAVA類庫java.util.*下面的

Integer類

Boolean類

Character類

Float類

Double類

String類

Date類

根據(jù)自己的需要,參考不同類的各種成員方法進(jìn)行數(shù)據(jù)類型之間的轉(zhuǎn)換。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    国内精品偷拍视频久久| 中文字幕亚洲精品在线播放| 视频一区二区黄色线观看| 亚洲一区二区三区一区| 蜜臀人妻一区二区三区| 国产一区二区三区成人精品| 国产亚洲精品一二三区| 九九热这里只有精品视频| 欧美激情中文字幕综合八区| 十八禁日本一区二区三区| 国产大屁股喷水在线观看视频| 亚洲国产四季欧美一区| 高潮少妇高潮久久精品99| 亚洲精品蜜桃在线观看| 国产传媒精品视频一区| 福利专区 久久精品午夜| 国产一级特黄在线观看| 亚洲精品一区二区三区免| 视频一区日韩经典中文字幕| 国产精品久久精品毛片| 日韩精品中文字幕在线视频| 欧美日韩一级黄片免费观看| 国产精品内射视频免费| 日本乱论一区二区三区| 精品丝袜一区二区三区性色| 国产中文另类天堂二区| 欧洲精品一区二区三区四区 | 日韩精品一区二区三区四区| 日本高清不卡一二三区| 扒开腿狂躁女人爽出白浆av| 四季av一区二区播放| 欧美中文日韩一区久久| 成人区人妻精品一区二区三区| 色欧美一区二区三区在线| 蜜桃传媒在线正在播放| 好吊色欧美一区二区三区顽频 | 一区二区日本一区二区欧美| 国产精品福利一二三区| 国产欧美日韩精品一区二| 国产成人国产精品国产三级| 亚洲中文字幕在线视频频道|