数据类型的概念
数据类型的字面意思就是数据的类型。
数据是记录信息的实体,比如2500万、老王等等,不过数据和数字以及其它一些最原始的符号还不一样,数据一般来说应该是有意义的,比如说,对于数字2500,我们仅从数字角度去看,它就是数学中一个整数,但是对于数据2500,它有可能指某个省的粮食总产量,也可能指一个公司的年盈利额等等。
类型是一个非常基本的名词,它是用来划分某个事物的不同属性的组成部分,这样说好像有些抽象,我想你当初怎么理解的现在就还怎么理解,应该没有错。
因此,数据类型就是指数据的属性的归类。我们知道数据可以有许多形式,比如数字类型的数据35(可能指某个班级的人数)、100(可能指某个人某个科目的得分),比如字符类型的数据A(可能代表某个选择题的第一个选项)、张三(可能代表某个人的名字)等等。很明显,这些不同类型的数据无论是其表现形式还是其所能描述的范围都是有自己的限制的,因此为了对它们进行有效的区分以便使用,人们才提出了数据类型的概念。
我想,你对数据类型本身的含义应该比较清楚了吧,虽然我本人不是这方面的专家,但是我觉得我的表达还不至于太晦涩难懂吧。
java数据类型(对于32位CPU而言)
Java数据类型从大的方面分为两部分:基本数据类型和对象数据类型。
基本数据类型,是比较简单的表达一些基本信息的数据类型,它包括以下几类:
byte 字节型计算机中一个字节一般来说占8位(位是什么意思,我在下边介绍)
char字符型 占2个字节,也就是16位
short 短整型 占2两个字节,也就是16位
int 整形 占4个字节,也就是32位
long 长整型 占8个字节,也就是64位
float 单精度实型,小数点后面保留7位有效数字,占32位
double 双精度实型,小数点后面保留15位有效数字,占64位
boolean 布尔型,占一个字节,8位
先介绍一下位的信息吧。我们知道所有的数据在计算机中都是以0和1的组合来存储的,例如整形数字1,在计算机中的实际存储形式位:
00000000 00000000 00000000 00000001
上面的每一个0或者每一个1都被称为一个位。
下面以一个表的形式分表介绍一下各个基本的数据类型
类型 | 位数 | 字节数 | 取值范围 | 举例 |
byte | 8 | 1 | 负的2的7次方到2的7次方的整数 | -128,54,127 |
short | 16 | 2 | 负的2的15次方到2的15次方的整数 | 1348,6543 |
int | 32 | 4 | 负的2的31次方到2的31次方的整数 | 0,-10000,345678 |
long | 64 | 8 | 负的2的63次方到2的63次方的整数 | 987657897,-12 |
float | 32 | 4 | 负的2的31次方到2的31次方的实数 | 23.987,87F |
double | 64 | 8 | 负的2的63次方到2的63次方的实数 | 2.0231,0.456D |
char | 16 | 2 | 负的2的15次方到2的15次方的整数 | 400,A,z,x,-23 |
boolean | 8 | 1 | true ,false |
与变量定义一起使用,例子如下:
byte myByte= 49;
byte myByte2=128;//(错误,取值范围过大)
short myShort=2345;
int myInt=123;
int myInt2=012;//(012是用8进制表示的数字,以0开头的数字代表8进制数字)
int myInt3=0x12E5F;// (0x12E5F是用16进制表示的数字,以0x开头的数字代表8进制数字)
long myLong=23;
long myLong2=245L;// (以L结尾表示该数值为长整型)
float myFloat=456.56F;// (以F结尾表示该数字为单精度实型)
double myDouble=23.56789D;// (以D结尾表示该数字为双精度实型)
如果说你对8进制和16进制与10进制的转换不太清楚的化,我建议你也不必急着去学,我想在大多数情况的编程中根本用不到。不过,我觉得还是举几个转化的例子比较好。
首先要知道8进制和16进制的基本成员,对于10进制我们知道它的基本成员为
0 1 2 3 4 5 6 7 8 9
请记住8进制的基本成员和16进制的基本成员:
8进制基本成员:0 1 2 3 4 5 6 7
16进制基本成员:0 1 2 3 4 5 6 7 8 9 A B C D E F(其中A B C D E F分别代表10 11 12 13 14 15)
8进制转10进制:
例如8进制数345,转换成10进制数为:5×8的0次方+4×8的1次方+3×8的2次方。
16进制转10进制:
例如对于16进制数45,转换成10进制数为:5×16的0次方+4×16的1次方
好了基本数据类型就先这样吧,我们再简单说一下java的对象数据类型。
Java对象数据类型
Java是面向对象的程序设计语言,因此java的数据类型中包括了对象数据类型。例如String对象、Date对象和数组对象等等。像下面的例子:
String username="zhang san"; //字符串对象
Date time=new Date(); //日期对象
与8中基本数据类型相对应,java中有8种相应的对象数据类型,分别为:
Byte Short Integer Long Float Double Character Boolean
此外,java中还有许许多多其它对象类型,以后会慢慢提到,当然了主要还在于你自己平时多练习,通过慢慢使用各种常用过的类,从而熟练你的程序设计。