java中四类八中_JAVA中的八中基本数据类型
Java語言提供了八種基本類型。六種數(shù)字類型(四個整型,兩個浮點型),一種字符類型,還有一種布爾型。
1、整數(shù):
定義:沒有小數(shù)部分的數(shù)字,負數(shù)是允許的。
種類:Java提供四種整數(shù)類型:
byte1個字節(jié) ? ? -128到127
short
2個字節(jié)
-32,768到32,767
int
4個字節(jié)
-2,147,483,648到2,147,483,647
long
8個字節(jié)
-9,223,372,036,854,775,808L到9,223,372,036,854,775,807L
2、浮點數(shù):
定義:含有小數(shù)部分的數(shù)字。
分類:Java提供兩種浮點數(shù):
float
4個字節(jié)
約+-3.40282347E+38F(6~7個有效的十進制數(shù)位)
絕對值:1.4E-45~3.4E38
double
8個字節(jié)
約+-1.79769313486231570E+308(15個有效數(shù)位)
絕對值:4.9E-324~1.8E308說明:
1)float類型的數(shù)值有個后綴:f/F,如果沒有后綴f/F,那么默認為double。double類型的數(shù)值也可以使用后綴d/D。
2)當這些數(shù)字遇到取值范圍錯誤時,會發(fā)生(上溢Overflow);而在遇到像被零除時,會發(fā)生下溢(Underflow)。
舉例:float f? = 1.23456712f;
float ff = 1.23456789f;
double d ? = 1.23456789123456123d;
//默認為double類型,可以不帶ddouble dd = 1.23456789123456789d;
System.out.println("f? ="+f);
System.out.println("ff ="+ff);
System.out.println("d? ="+d);
System.out.println("dd ="+dd);
輸出:
f??? =
1.2345672
ff?? =
1.2345679d?? =
1.2345678912345612? //15位精度
dd = 1.234567891234568
//15位精度
3、字符類型:
定義:單引號用來表示char常量,是容納單字符的一種基本數(shù)據(jù)類型,占1byte。
說明:雙引號則表示一個字串,他是Java的一個對象,并不是數(shù)據(jù)類型。
4、布爾類型:boolean類型只有兩個值:false和true。 boolean
類型的數(shù)值不能直接轉(zhuǎn)換成其它類型。占1個字節(jié)。
看一下代碼:
public class TestString {
public static void main(String[] args) {
// TODO Auto-generated method stub
//
byte
System.out.println("基本類型:byte 二進制位數(shù):" +
Byte.SIZE);
System.out.println("包裝類:java.lang.Byte");
System.out.println("最小值:Byte.MIN_VALUE=" +
Byte.MIN_VALUE);
System.out.println("最大值:Byte.MAX_VALUE=" +
Byte.MAX_VALUE);
System.out.println();
//
short
System.out.println("基本類型:short 二進制位數(shù):" +
Short.SIZE);
System.out.println("包裝類:java.lang.Short");
System.out.println("最小值:Short.MIN_VALUE=" +
Short.MIN_VALUE);
System.out.println("最大值:Short.MAX_VALUE=" +
Short.MAX_VALUE);
System.out.println();
//
int
System.out.println("基本類型:int 二進制位數(shù):" +
Integer.SIZE);
System.out.println("包裝類:java.lang.Integer");
System.out.println("最小值:Integer.MIN_VALUE=" +
Integer.MIN_VALUE);
System.out.println("最大值:Integer.MAX_VALUE=" +
Integer.MAX_VALUE);
System.out.println();
//
long
System.out.println("基本類型:long 二進制位數(shù):" +
Long.SIZE);
System.out.println("包裝類:java.lang.Long");
System.out.println("最小值:Long.MIN_VALUE=" +
Long.MIN_VALUE);
System.out.println("最大值:Long.MAX_VALUE=" +
Long.MAX_VALUE);
System.out.println();
//
float
System.out.println("基本類型:float 二進制位數(shù):" +
Float.SIZE);
System.out.println("包裝類:java.lang.Float");
System.out.println("最小值:Float.MIN_VALUE=" +
Float.MIN_VALUE);
System.out.println("最大值:Float.MAX_VALUE=" +
Float.MAX_VALUE);
System.out.println();
//
double
System.out.println("基本類型:double 二進制位數(shù):" +
Double.SIZE);
System.out.println("包裝類:java.lang.Double");
System.out.println("最小值:Double.MIN_VALUE=" +
Double.MIN_VALUE);
System.out.println("最大值:Double.MAX_VALUE=" +
Double.MAX_VALUE);
System.out.println();
//
char
System.out.println("基本類型:char 二進制位數(shù):" +
Character.SIZE);
System.out.println("包裝類:java.lang.Character");
//
以數(shù)值形式而不是字符形式將Character.MIN_VALUE輸出到控制臺
System.out.println("最小值:Character.MIN_VALUE=" +
(int)Character.MIN_VALUE);
//
以數(shù)值形式而不是字符形式將Character.MAX_VALUE輸出到控制臺
System.out.println("最大值:Character.MAX_VALUE="
+ (int)Character.MAX_VALUE);
}
}
運行結(jié)果如下:
運算符對基本類型的影響當使用+、-、*、/、%運算符對基本類型進行運算時,遵循如下規(guī)則:
只要兩個操作數(shù)中有一個是double類型的,另一個將會被轉(zhuǎn)換成double類型,并且結(jié)果也是double類型;否則,只要兩個操作數(shù)中有一個是float類型的,另一個將會被轉(zhuǎn)換成float類型,并且結(jié)果也是float類型;否則,只要兩個操作數(shù)中有一個是long類型的,另一個將會被轉(zhuǎn)換成long類型,并且結(jié)果也是long類型;否則,兩個操作數(shù)(包括byte、short、int、char)都將會被轉(zhuǎn)換成int類型,并且結(jié)果也是int類型。
當使用+=、-=、*=、/=、%=、運算符對基本類型進行運算時,遵循如下規(guī)則:
運算符右邊的數(shù)值將首先被強制轉(zhuǎn)換成與運算符左邊數(shù)值相同的類型,然后再執(zhí)行運算,且運算結(jié)果與運算符左邊數(shù)值類型相同。
根據(jù)以上規(guī)則,請看:?short s1=1;s1=s1+1;有什么錯?short
s1=1;s1+=1;有什么錯?
我們來寫個例子試試,Java代碼
publicclassPrimitiveTypeTest
{
publicstaticvoidmain(String[]
args) {
shorts1
=1;
//
這一行代碼會報編譯錯誤
// s1 = s1 +
1;
//
這一行代碼沒有報錯
s1
=1+1;
//
這一行代碼也沒有報錯
s1
+=1;
}
}
當使用“==”運算符在基本類型和其包裝類對象之間比較時,遵循如下規(guī)則:
只要兩個操作數(shù)中有一個是基本類型,就是比較它們的數(shù)值是否相等。否則,就是判斷這兩個對象的內(nèi)存地址是否相等,即是否是同一個對象。
總結(jié)
以上是生活随笔為你收集整理的java中四类八中_JAVA中的八中基本数据类型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PHP笔记-获取客户端IP及平台及浏览器
- 下一篇: shocked的歌曲 类似shell_S