Java的数据类型有两种:
(1)基本数据类型
1.Java的八大基本数据类型为:
整型
byte 字节型 1字节 8bit 最大存储数据量是255,存放的数据范围是-128~127之间
short 短整型 2字节 16bit 最大数据存储量是65536,数据范围是-32768~32767之间
int 整型 4字节 32bit 最大数据存储容量是2的32次方减1,数据范围是负的2的31次方到正的2的31次方减1
long 长整型 8字节 64bit 最大数据存储容量是2的64次方减1,数据范围为负的2的63次方到正的2的63次方减1
浮点型
float 单精度 4字节 32bit 数据范围在3.4e-45~1.4e38,直接赋值时必须在数字后加上f或F
double 双精度 8字节 64bit 数据范围在4.9e-324~1.8e308,赋值时可以加d或D也可以不加
字符类型
char 字符型 用单引号
布尔类型
boolean 布尔型 true/false(只有真假两种结果)
数据值域的知识说明:
1.一个bit是计算机考研存储的最小的数据单位。即1位,只可能是0或1.
2.一个byte由八个bit组成,即八位,可以表示256个整数值,又由于byte在Java中有符号之分(即正负数),所以范围位-128~127.
3.一个char在Java中由两个byte组成,用来表示一个字符,即unicode编码,是无符号类型。
4.int和float在Java中由4个byte组成。
5.每个long或double型变量占用八个byte的存储空间。
6.1T=1024G,1G=1024M,1M=1024K,1K=1024B
小心得:
1.程序中的整数默认都是int型,即在方法调用直接传入的一个具体的整数值,默认情况下是int型。
2.值域小的的类型可以自动转化为值域大的。值域大的不能直接转化为值域小的,但是可以通过强制转化实现。
eg: byte a=10;
int i=a;
(程序正常运行,输出的i为10)
eg: int a=10;
byte i=(byte)a;
(程序正常运行,输出的i为10)
若a的值超出了byte类型的上限或下限,可以输出值,但该值的数据会改变,改变规律如下:
假设a为int型,b为byte型(其他情况可以类比!~)
若a大于byte的上限值,则应减去其值域n次,直到最终的值落在-128~127之间,举个例子: int a=1000;
byte b=(byte)a;//1000-256-256-256-256=-24
(输出的b为-24)
3.浮点型转化为整型是不是四舍五入,而是直接截去小数部分。如:
double b=12.5;
int i=(int)12.5;
(输出值为12而不是13!)
4.浮点型数字的科学表示方法:
比如:1.2e+12f(表示1.2乘以10的12次幂)
1e-21f(表示1乘以10的-21次幂)
(2)对象数据类型(应用数据类型,类类型)
所有用class,interface,abstract class定义的类;
String是Java定义的一个类。
String的数据存储方式和Java的基本数据类型是一致的。
String的定义方式
String str="abc";
String str-new String();