Java学习笔记1---数据类型

一、Java的数据类型

  1. 内置数据类型(8种):
  1. byte:默认值是0 8位
  2. short:默认值是0 16位
  3. int:默认值是0     32位
  4. long:默认值是0L        64位
  5. float:默认值是0.0f        32位
  6. double:默认值是0.0   64位
  7. boolean;默认值是false     
  8. char:16位

 

2.引用数据类型(2种):

1)对象:默认值是null

2)数组:默认值是null

Java学习笔记1---数据类型

 

 

二、自动类型转换

取值范围小的可以自动转为取值范围大的类型,反之不可,但可以用强制类型转换,如

       char c1='a';//定义一个char类型

int i1 = c1;//char自动类型转换为int

1.对于byte,short,char,int,long类型:

a)在+-*/%运算中:

当两个操作数中没有long类型时,两个操作数中非int类型会先自动转换为int类型,再参与运算,返回结果为int;

当两个操作数中含有long类型时,两个操作数中非long类型会自动转换为long类型,再参与运算,返回结果为long;

b).在自加和自减运算中,

操作数的类型是什么就是什么,不会发生转化。

 

2.对于float,double两个浮点数据类型与整型数据类型的运算:

如果运算的操作数含有float或者double类型的,其他类型自动转化为float或double类型

Java学习笔记1---数据类型

三、拆箱与装箱

       Java学习笔记1---数据类型

Integer total = 99;

执行上面那句代码的时候,系统为我们执行了:

Integer total = Integer.valueOf(99);

 

int totalprim = total;

执行上面那句代码的时候,系统为我们执行了:

int totalprim = total.intValue();

 

valueOf这个函数的源码:

Java学习笔记1---数据类型

可见,当valueOf(int i)中的i>=128或者i<-128,函数的返回是一个新的对象!