java基础入门数据类型,JAVA基础教程:JAVA的基本数据类型及介绍
歡迎分享本文,轉(zhuǎn)載請(qǐng)保留出處。
java的數(shù)據(jù)類型可以分為基本數(shù)據(jù)類型和引用數(shù)據(jù)類型,其中基本數(shù)據(jù)類型包括:字節(jié)型,字符型,短整型,整型,長(zhǎng)整型,單精度型,雙精度型和布爾型
引用類型又可以劃分為 類,接口和數(shù)組。
java基本數(shù)據(jù)類型
1.數(shù)值類型
如下所示為java數(shù)值類型的數(shù)據(jù)范圍
java數(shù)值型取值范圍
當(dāng)我們使用的數(shù)據(jù)不帶有小數(shù)或分?jǐn)?shù)時(shí),即可以聲明為整數(shù)變量,如:3,-147等
即為整數(shù)。java中,整數(shù)類型可以分為long,int,short,byte四種,long為64位,也就是8個(gè)字節(jié)(bytes),可表示范圍 -9223372036854775808到9223372036854775808;int為32位,即4個(gè)字節(jié),表示范圍為 -2147483648 到 2147483647;若是數(shù)據(jù)值的范圍在 -32768 到32767之間時(shí),可以聲明為short(短整型)類型;若是數(shù)據(jù)值更小,在-128到127之間時(shí),可以聲明為byte類型以節(jié)省內(nèi)存空間。
當(dāng)數(shù)據(jù)過(guò)長(zhǎng)時(shí)?
public class DataDemo01{
public static main(String args[]){
int num = 9999999999999999 ; //數(shù)據(jù)超過(guò)取值范圍
}
}
此時(shí)會(huì)出現(xiàn)數(shù)據(jù)溢出,那什么是數(shù)據(jù)溢出??
當(dāng)整數(shù)的數(shù)據(jù)大小超出了可以表示的范圍,而程序中又沒(méi)有做數(shù)值范圍的檢查時(shí),這個(gè)整數(shù)變量所輸出的值將發(fā)生紊亂,且不會(huì)有預(yù)期的運(yùn)行結(jié)果。
例如:
public class DataDemo02{
public static main(String args[]){
int max = Integer.MAX_VALUE; // 得到整型的最大值
System.out.println("整型的最大值:" + max) ; // 將最大值輸出
System.out.println("整型最大值 + 1 :" + (max + 1)) ; // 最大值加1
// 最大值加2
System.out.println("整型最大值 + 2 :" + (max + 2)) ;
}
}
內(nèi)存中的數(shù)據(jù)變化為:
此時(shí)會(huì)發(fā)生數(shù)據(jù)溢出,那怎么解決??
使用強(qiáng)制數(shù)據(jù)類型轉(zhuǎn)換,防止溢出:
public class DataDemo03{
public static main(String args[]){
int max = Integer.MAX_VALUE; // 得到整型的最大值
System.out.println("整型的最大值:" + max) ; // 將最大值輸出
System.out.println("整型最大值 + 1 :" + (max + 1)) ;
System.out.println("整型最大值 + 2 :" + (max + 2L)) ; // 最大值加2,轉(zhuǎn)為long型
System.out.println("整型最大值 + 2 :" + ((long)max + 2L)) ; // 強(qiáng)制轉(zhuǎn)為long型
}}
2.字符類型
字符類型在內(nèi)存中占有2個(gè)字節(jié),可以用來(lái)保存英文字母等字符。計(jì)算機(jī)處理字符類型時(shí),是把這些字符當(dāng)成不同的整數(shù)來(lái)看待,因此,嚴(yán)格說(shuō)來(lái),字符類型也算是整數(shù)類型的一種。
測(cè)試一下,字符和整型之間的相互轉(zhuǎn)換:
public static main(String args[]){
char ch1 = 'a'; // 定義字符
char ch2 = 97; // 定義字符,整型轉(zhuǎn)字符
System.out.println("ch1 = " + ch1); //打印輸出
System.out.println("ch2 = " + ch2); //打印輸出
}
此時(shí)我們可以發(fā)現(xiàn)兩個(gè)結(jié)果是相同的,但是當(dāng)數(shù)值型超過(guò)255時(shí),則不能進(jìn)行轉(zhuǎn)化,具體請(qǐng)參考計(jì)算機(jī)的ascll碼。
常見(jiàn)的轉(zhuǎn)義字符:
java常見(jiàn)轉(zhuǎn)義字符
3.浮點(diǎn)數(shù)類型與雙精度浮點(diǎn)數(shù)類型(單精度和雙精度)
在日常生活中經(jīng)常會(huì)使用到小數(shù)類型的數(shù)值,如身高、體重等需要精確的數(shù)值時(shí),整數(shù)就不能滿足程序設(shè)計(jì)者的需求,在java中,這種數(shù)據(jù)類型稱之為浮點(diǎn)數(shù)類型(float),其長(zhǎng)度為32位(4字節(jié)),其數(shù)值范圍為-3.4E38~3.4E38,單精度浮點(diǎn)數(shù)最多有7位十進(jìn)制有效數(shù)字,單精度浮點(diǎn)數(shù)的指數(shù)用“E”或“e”表示。還有一種是雙精度浮點(diǎn)數(shù)(double),使用 64 位(8字節(jié)) 來(lái)存儲(chǔ)一個(gè)浮點(diǎn)數(shù)。 它可以表示十進(jìn)制的15或16位有效數(shù)字,其可以表示的數(shù)字的絕對(duì)值范圍大約是:-1.79E+308 ~ +1.79E+308
浮點(diǎn)型數(shù)據(jù)計(jì)算示例:
public class DataDemo06{
public static main(String args[]){
float num = 3.0f; // 定義float型變量
System.out.println("兩個(gè)小數(shù)相乘:" + num * num); //計(jì)算兩數(shù)相乘
}
}
4.布爾型
Boolean Variable (布爾變量)是具有兩種邏輯狀態(tài)的變量。它包含兩個(gè)值:true和false。如果在表達(dá)式中使用布爾變量,則基于變量值的真值給出1或0的整數(shù)值。若要將整變量轉(zhuǎn)換為布爾變量,如果整數(shù)值為0,則布爾值錯(cuò)誤;否則,如果整數(shù)值不是0,則布爾值為真。布爾變量通常在運(yùn)行時(shí)用作標(biāo)記,例如用于更改程序流的邏輯測(cè)試。
布爾型的常用示例:
public class DataDemo07{
public static main(String args[]){
boolean flag = true;
//定義布爾型變量
System.out.println("flag = " + flag); //輸出
}
}
5.數(shù)據(jù)類型的轉(zhuǎn)換
Java的數(shù)據(jù)類型在定義時(shí)就已經(jīng)確定了,因此不能隨意轉(zhuǎn)換成其他的數(shù)據(jù)類型,但Java允許用戶有限度地做類型轉(zhuǎn)換處理。數(shù)據(jù)類型的轉(zhuǎn)換方式可以分為“自動(dòng)類型轉(zhuǎn)換”及“強(qiáng)制類型轉(zhuǎn)換”兩種。
在程序中已經(jīng)定義好了數(shù)據(jù)類型的變量,若是想用另一種數(shù)據(jù)類型表示時(shí),Java會(huì)在以下條件皆成立時(shí),做東做數(shù)據(jù)類型的轉(zhuǎn)換:
(1)轉(zhuǎn)換前的數(shù)據(jù)類型與轉(zhuǎn)換后的類型兼容
(2)轉(zhuǎn)換后的數(shù)據(jù)類型的表示范圍比轉(zhuǎn)換前的類型大
示例:
public class DataDemo10{
public static main(String args[]){
float f =30.3f ; //定義浮點(diǎn)型變量
int x = (int)f; //強(qiáng)制轉(zhuǎn)換為int型
System.out.println("x = " + x);//輸出轉(zhuǎn)型之后的值
System.out.println("10 / 3 = " + ((float)10 / 3));
}
}
總結(jié)
以上是生活随笔為你收集整理的java基础入门数据类型,JAVA基础教程:JAVA的基本数据类型及介绍的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 掌握 Ajax,第 8 部分: 在请求和
- 下一篇: [转载]通过Arcgis Server向