Java中的數(shù)據(jù)類型是指可以存儲(chǔ)在變量中的數(shù)據(jù)類型。 由于Java是強(qiáng)類型語(yǔ)言界弧,因此需要定義變量的數(shù)據(jù)類型以使用它凡蜻,并且不能分配不兼容的數(shù)據(jù)類型,否則編譯器會(huì)給你一個(gè)錯(cuò)誤垢箕。
int d = "Hello"
編譯器會(huì)給你一個(gè)錯(cuò)誤消息:“ incompatible types: String cannot be converted to int”划栓。Java中提供兩種數(shù)據(jù)類型。
- 原始數(shù)據(jù)類型
- 引用數(shù)據(jù)類型
原始數(shù)據(jù)類型
原始數(shù)據(jù)類型是那些由java語(yǔ)言本身定義的數(shù)據(jù)類型条获。包括如下8種基本類型:
數(shù)據(jù)類型 | 默認(rèn)值 | 默認(rèn)大小 |
---|---|---|
boolean | false | 1 bit |
char | ‘\u0000’ | 2 byte |
byte | 0 | 1 byte |
short | 0 | 2 byte |
int | 0 | 4 byte |
long | 0L | 8 byte |
float | 0.0f | 4 byte |
double | 0.0d | 8 byte |
我們來(lái)看一些關(guān)于數(shù)據(jù)類型的例子:
兩整數(shù)相加
package org.amazingwei;
public class DataTypesDemo {
public static void main(String[] args) {
int a = 12;
int b = 18;
int c = a + b;
System.out.println(c);
}
}
當(dāng)你運(yùn)行上面程序后忠荞,你將會(huì)得到下面的輸出結(jié)果:
30
將int型變量a賦值給double型(拓寬)
這里我們將int賦值為double。 由于double需要比int更多的內(nèi)存。 這是拓寬操作委煤。
package org.amazingwei;
public class AssignIntToDouble {
public static void main(String[] args) {
int a = 60;
double b = a;
System.out.println(a);
System.out.println(b);
}
}
當(dāng)你運(yùn)行上面程序后堂油,你將會(huì)得到下面的輸出結(jié)果:
60.0
60
將int型變量a賦值給byte型(溢出)
當(dāng)你將int分配給byte型并且int的值大于byte的最大值時(shí),這就是溢出素标。
public class AssignIntToByte {
public static void main(String[] args) {
int a = 180;
byte b = (byte) a;
System.out.println(a);
System.out.println(b);
}
}
當(dāng)你運(yùn)行上面程序后称诗,你將會(huì)得到下面的輸出結(jié)果:
180
-76
引用數(shù)據(jù)類型
除去基本數(shù)據(jù)類型的其它類型都是引用數(shù)據(jù)類型萍悴。 它為Java API中提供的所有的類或由你所創(chuàng)建的類所提供的數(shù)據(jù)類型头遭。
String是由java提供的引用數(shù)據(jù)類型的示例。