byte的范围0~255
short的范围-32768~32767
int的范围-2147483648~214783647
long的范围-1.79769313486232E+308~1.7679313486232E+308
decimal的范围-79228162514264337593543950335~79228162514264337593543950335
整数类型
byte :byte=8bit。我们正常用的都是byte,比如u盘大小,硬盘大小,内存大小,对用户来说,用byte是直观的感受,比如我们下的电影,歌,照片。bit一般在芯片手册里用。但有点不同就是电信的网速
short :short又名短整形。short是-65535_ _ _+65535一般情况下,你有可能是所处理的数据大于6.5W。short也就不能满足你的需要了,所以要采用int , 要是处理的数据int和short都能满足那就随便自己喜欢的随便用哪个
int :int的默认值为0,int的内存大小是4个byte , int是基本的整数类型,short和long是在int的基础上进行的扩展,short可以节省内存,long可以容纳更大的值。short,int,long是C语言中常见的整数类型,其中int称为整数,short称为短整数,long称为长整数
long :long,顾名思义就是比int要长,int一般来说占4字节,long一般是8字节,不过在VC++6.0里,long和int的长度一样。在ANSIC中定义的long的长度要大于等于int
浮点型(float与double可以显示小数点后面的数字 对比:double和float的区别是double精度高但是消耗内存是float的两倍运算速度也是比float慢很多float精度低)
float :float的内存大小是4个byte , float是c语言中的一个数据类型。从计算机开发系统内我们会发现有数字,字母,汉字,字符,而存在某些区域,都会是固定不变的一种表达方式,那么这就是语言中的数据类型一种表达方式。float属于浮点型数据类,指有小数表达的数据。float在浮点型变量中的单精度,有单精度自然也会有双精度的存在,那么主指它们的范围的不同。%是输出浮点数时指定的格式符,虽然可以使用其它方式输出,那么如果不使用相同的方式表达,数值也会产生不同的后果
double :double的内存大小是8个byte , C语言中double是C语言的一个关键字,代表双精度浮点型,占8个字节内存空间,其数值范围为“1.7E-308~1.7E+308”,双精度完全保证的有效数字是15位,16位只是部分数值有保证。C语言中,float和double都属于浮点数。区别在于:double所表示的范围,整数部分范围大于float,小数部分,精度也高于float
十进制类型(decimal比float更加精准范围更大)
decimal :decimal是MySQL中存在的精准数据类型,语法格式“DECIMAL(M,D)”。其中,M是数字的最大数(精度),其范围为“1~65”,默认值是10;D是小数点右侧数字的数目(标度),其范围是“0~30”,但不得超过M.
布尔类型(bool表示逻辑判断的结果不是真就是假没有其他的可能)
bool :bool是一个无符号的整数,可以保存两个值之一:0表示假,1表示真。包含stdbool.h头文件,您就可以使用bool类型表示_Bool,用true表示1,用false表示0,这可以使代码与C++兼容
字符类型(char可以容纳单个字符char是用户自己处理会出现内存不足
string对一个容器进行封装string是系统处理除非系统内存用完不然不会出现内存不足)
string :string不是基本数据类型,而是一个类(class),是java编程语言中的字符串,string对象是char的有序集合,并且该值是不可变的。因为Java.lang.string类是final类型的,因此不可以继承这个类,不能修改这个类
char :char数据类型。(1)定义:char型数据是计算机编程语言中只可容纳单个字符的一种基本数据类型。而且关于char还有一个特殊的语言就是char*,它在C/++中有专门的语义,既不同于signed char *,也不同于unsigned char*,专门用于指以“0”为结束的字符串。[2]
定义:可容纳单个字符的数据类型
空类型(给一个元素设置为空并不像int一样命名为0)
null :Null类型是第二个只有一个值的数据类型,这个特殊的值是null,从逻辑角度来看,null值表示一个对象指针,而这正是使用typeof操作符检测null值会返回“object”的原因。如果定义的变量准备将来用户保存对象,那么最好将该变量初始化为null而不是其他值。这样一来,只要直接检查null值就可以知道相应的变量是否已经保存了一个对象的引用.实际上,undefined值是派生null值的,因此ECMA-262规定对他们的相等测试要返回true:这里,位于null和undefined之间的相等操作符(==)总是返回true,不过要注意的是,这个操作符出于比较的目的的会转换其操作数