Java中的数据类型是指可以存储在变量中的数据类型。 由于Java是强类型语言,因此需要定义变量的数据类型以使用它,并且不能分配不兼容的数据类型,否则编译器会给你一个错误。
int d = "Hello"
编译器会给你一个错误消息:“ incompatible types: String cannot be converted to int”。Java中提供两种数据类型。
- 原始数据类型
- 引用数据类型
原始数据类型
原始数据类型是那些由java语言本身定义的数据类型。包括如下8种基本类型:
数据类型 | 默认值 | 默认大小 |
---|---|---|
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 |
我们来看一些关于数据类型的例子:
两整数相加
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);
}
}
当你运行上面程序后,你将会得到下面的输出结果:
30
将int型变量a赋值给double型(拓宽)
这里我们将int赋值为double。 由于double需要比int更多的内存。 这是拓宽操作。
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);
}
}
当你运行上面程序后,你将会得到下面的输出结果:
60.0
60
将int型变量a赋值给byte型(溢出)
当你将int分配给byte型并且int的值大于byte的最大值时,这就是溢出。
public class AssignIntToByte {
public static void main(String[] args) {
int a = 180;
byte b = (byte) a;
System.out.println(a);
System.out.println(b);
}
}
当你运行上面程序后,你将会得到下面的输出结果:
180
-76
引用数据类型
除去基本数据类型的其它类型都是引用数据类型。 它为Java API中提供的所有的类或由你所创建的类所提供的数据类型。
String是由java提供的引用数据类型的示例。