Java入门:Java的数据结构
在另一篇文章中我向大家对java的基本语法进行了简单的讲解,在本文中会对也是Java中必须要弄懂的基础知识——数据类型进行了解。数据是程序中重要的组成部分,如果你在写程序的时候把不同的数据类型混淆了,你的程序必然出错。文中对数据类型的内置数据类型以及引用数据类型进行了简单的细分,希望有所帮助。
在创建变量的时候,需要在内存中申请空间,然后内存管理系统会根据变量的类型为变量进行分配存储空间,而这个分配的存储空间只能存放该类型的数据。因此,通过定义不同类型的变量,可以在内存中储存整数、小数或者字符。
数据类型
内置数据类型
Java中主要有8种基本的数据类型,分别是byte,short,int,long,char,boolean,float,double。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。
1、boolean:数据值只有true或false,适用于逻辑计算,默认值为false。
2、char:char型(字符型)数据在内存中占用2个字节。char型数据用来表示通常意义上的字符,每个字符占2个字节,Java字符采用Unicode编码,它的前128字节编码与ASCII兼容字符的存储范围在\\u0000~\\uFFFF,在定义字符型的数据时候要注意加' ',比如 '1'表示字符'1'而不是数值1,
3、byte:byte数据类型是8位、有符号的,以二进制补码表示的整数,表示的存储数据范围为:-128~127,默认值为0。
4、short:short型(短整型)数据在内存中占用2个字节。short数据类型是16位、有符号的以二进制补码表示的整数,默认值为0。
5、int:int型(整型)数据在内存中占用4个字节。int数据类型是32位、有符号的以二进制补码表示的整数默认值为0.
6、long:long型(长整型)数据在内存中占用8个字节。long数据类型是64位、有符号的以二进制补码表示的整数,默认值为0L,主要是使用在需要比较大整数的系统上。
7、float:float型(单精度浮点型)数据在内存中占用4个字节。(float精度为7-8位),float数据类型是单精度、32位、符合IEEE 754标准的浮点数,默认值为0.0f。
8、double:double型(双精度浮点型)数据在内存中占用8个字节。double数据类型是双精度、64位、符合IEEE 754标准的浮点数,默认值为0.0d。
实际上Java中还有一种基本类型void,不过无法直接对它进行操作。
在Java中,它们分别有各自的包装类:
byte | 包装类:java.lang.Byte |
short | 包装类:java.lang.Short |
int | 包装类:java.lang.Integer |
long | 包装类:java.lang.Long |
double | 包装类:java.lang.Double |
char | 包装类:java.lang.Character |
void | 包装类 java.lang.Void |
在这里就不向大家一一演示在程序中的运行,例如:int ,System.out.println(“最小值:Integer.MIN_VALUE=” + Integer.MIN_VALUE); 这样子运行的时候就会知道对应的最小值。
要注意的是:Float和Double的最小值和最大值都是以科学记数法的形式输出的,结尾的”E+数字”表示E之前的数字要乘以10的多少次方。比如3.14E3就是3.14 × 103 =3140,3.14E-3 就是 3.14 x 10-3 =0.00314。
引用数据类型
引用类型指向一个对象,指向对象的变量是引用变量。这些变量在声明时被指定为一个特定的类型,比如Employee、Pubby等。变量一旦声明后,类型就不能被改变了。Java中引用类型非常类似于C/C++的指针。
对象、数组都是引用数据类型。所有引用类型的默认值都是null。一个引用变量可以用来引用与任何与之兼容的类型。
例子:Site site = new Site(“Runoob”)。
常量
常量是固定的量,在程序运行中,不会被修改的量。常量是可以用小写字母书写的,但规范的来说都是使用大写字母表示。
在Java中使用final关键字修饰常量:final double PI = 3.1415927。
和其他语言一样,Java的字符串常量也是包含在两个引号之间的字符序列。下面是字符串型字面量的例子:
”Hello World”
”two\nlines”
”\”This is in quotes\””
下面的定义正常不会用到,但是还是要提及一下:
int decimal = 100;
int octal = 0144;
int hexa = 0x64;
前缀0表示8进制,而前缀0x代表16进制
字符串常量和字符常量都可以包含任何Unicode字符。
char a = '\u0001';
String a = “\u0001”;
#p#分页标题#e#
特殊转义字符序列:
|
本文对于数据类型进行了说明,其实对于数据类型的包装类不用去了解,只要知道有这么一回事就行了。在编写程序的过程中是不会使用到这些包装类的。最后的转义字符表只是推荐给大家去了解记住,都是有用的知识。希望在本文之后大家能对Java中的数据类型有清晰的了解。