区别:Java内存存放位置不一样,基本数据类型存在栈(stack),String的对象实例存在堆(heap)。另外String,不是基本数据类型,判断是否相等,不能使用==,而应该使用equals方法。
java 中String 是个对象,是引用类型
基础类型与引用类型的区别是,基础类型只表示简单的字符或数字,引用类型可以是任何复杂的数据结构
基本类型仅表示简单的数据类型,引用类型可以表示复杂的数据类型,还可以操作这种数据类型的行为
java虚拟机处理基础类型与引用类型的方式是不一样的,对于基本类型,java虚拟机会为其分配数据类型实际占用的内存空间,而对于引用类型变量,它仅仅是一个指向堆区中某个实例的指针。
基本数据类型就只有八个,数值型:byte,short,int,long,浮点型:float,double,字符型:char,布尔型:boolean
基础数据类型不是类所以无法继承
java中有且仅有八种基本数据类型,共分为四类:
第一类:整型--》byte short int long
第二类:浮点--》float double
第三类:逻辑--》boolean
第四类:字符--》char
(基础数据类型在栈 里面直接分配内存 ,而引用数据则是通过堆里的对象来对栈中的内容进行引用)
字节以及其范围:
boolean布尔型 1/8
byte 字节型 1
char 字符型 2
short 短整型 2
int 整数型 4
float 单精度 4
long 长整型 8
double 双精度 8
java中默认的整型是int ,如果定义为long,要在后面加上L或l标识
默认的浮点类型是双精度的double,如果要定义为float,要在后面加上F火f
一个字节等于8位,一个字节等于256个数,就是-128到127一共256。
kB就是kBytes Bytes就是“字节”的意思!
K就是千的意思,因为计算机是通过二进制来计算,10个1正好是1024
1111111111(二进制)=1024(十进制)
1Bytes(字节)=8bit(比特)
一个英文字母或一个阿拉伯数字就是一个字符,占用一个字节
一个汉字就是两个字符,占用两个字节。
一般讲大小是用Bytes,大写的“B”,讲网络速率是用bit,注意是小写的“b”。
例:一个文件有8MBytes
例:我下载文件的速率是256KB/s,即2Mbit,这通常就是我们宽带上网的速率。
基本数据类型自动转换:
byte--》short
char--》int--》long
float--》double
int --》 float
long--》double
















