Java的数据类型
Java是一门强类型语言,这意味着Java必须为每一个变量声明一种类型。在Java中,一共有8种基本数据类型和3种引用数据类型。
- 基本数据类型
整型:byte short int long
byte类型和short类型分别占1个字节和2个字节,它们主要应用在特定的场合,例如,底层的文件处理或者需要控制占用存储空间的大数组。int类型则最常用,占用4个字节,取值范围在-2,147,483,648 ~ 2,147,483,647。如果需要表示地球的人口数量,则需要使用长整型long,long类型占用8个字节,通常在表示长整形的数值后面添加一个后缀L或l(如8000000000L)
浮点型:float double
浮点型用于表示有小数部分的数值,分为两种类型float和double。double表示的数据类型的数值精度是float的两倍,通常情况下在写程序的过程中都采用double类型,只有在很少的情况下才会使用float。float类型的数值有一个后缀F或f(如3.14F),没有后缀的数值(如3.14)默认为double类型。
字符型:char
char型变量用来存储采用Unicode编码的字符,Unicode编码字符占用两个字节,所以char类型的变量也是占用两个字节。
布尔型:boolean
boolean(布尔)类型只有两个值:true和false,用来判定逻辑条件。需要注意的是,数值型变量和布尔型变量不能进行相互转换。
- 引用数据类型
引用数据类型分为3种:类的引用、接口的引用和数组的引用
类的引用
类的引用类型变量指向了一个由该类所创建的对象,其本身并不存储该对象的内容,而仅仅是引用了一个对象(可以把它看成是c语言中的指针类型)。如下所示,变量str是String类的引用,其指向了一个值为"Hello"的String对象,我们可以通过str变量来对其指向的对象进行操作。
1 public class Main { 2 3 public static void main(String[] args) { 4 5 String str = new String("Hello"); 6 System.out.println(str.length()); 7 } 8 }
接口的引用
与类的引用类型变量类似,接口的引用指向了一个由该接口的实现类所创建的对象。变量iClass指向了接口IClass的实现类TestClass所创建的对象,我们可以通过IClass变量来对其指向的对象进行操作。
1 public class Main { 2 3 public static void main(String[] args) { 4 5 IClass iClass = new TestClass(); 6 iClass.f(); 7 } 8 } 9 10 interface IClass { 11 void f(); 12 } 13 14 class TestClass implements IClass{ 15 @Override 16 public void f() { 17 System.out.println("This is TestClass!"); 18 } 19 }
数组的引用
数组的引用指向了一个通过new关键字所创建的数组。我们可以通过该数组的引用变量来对数组进行插入、删除、修改等操作
1 public class Main { 2 3 public static void main(String[] args) { 4 //创建一个含5个元素的整型数组 5 int[] arr = new int[5]; 6 //给数组的每个元素赋值 7 for(int i=0; i<arr.length; ++i) { 8 arr[i] = 2*(i+1); 9 } 10 } 11 }