一、java的基本类型

java基本类型主要有八个四类:

第一类 整型:byte  short int long

第二类 浮点型: folat double

第三类 字符型:char 

第四类  逻辑型boolean

。实际上,JAVA中还存在另外一种基本类型void,它也有对应的包装类 java.lang.Void,不过我们无法直接对它们进行操作。

第一类 整型:

1.     byte

  • byte数据类型是8位、有符号的,以二进制补码表示的整数;
  • 最小值是-128(-2^7);
  • 最大值是127(2^7-1);
  • 默认值:0

注:默认值是指系统所给的初始化的值,必须是全局变量,java中,局部变量和静态变量需要初始化,并不适用此规则。

2. short 2字节16位

  • 最小值是-32768(-2^15);
  • 最大值是32767(2^15 - 1);
  • Short数据类型也可以像byte那样节省空间。一个short变量是int型变量所占空间的二分之一
  • 默认值是 0

  • 最小值是-32768(-2^31);
  • 最大值是32767(2^31 - 1);
  • 一般地整型变量默认为int类型;
  • 默认值是 0


  • 最小值是-9,223,372,036,854,775,808(-2^63);
  • 最大值是9,223,372,036,854,775,807(2^63 - 1);

  • 默认值是 0L

第二类 浮点型:

5.   float  4字节32 位



  • 取值范围:3.4e-038~3.4e+038;

  • 0.0f;

6.    double  8字节64位 

  • 取值范围:1.7e-308~1.7e+308;

  • 0.0d;          

注意:结尾的"E+数字"表示E之前的数字要乘以10的多少倍。

比如3.4E+038就是3.4×(10)^38 ,3.14E-038就是3.4/(10)^38。

第三类 字符型:

7. char   2字节16位

  • 是一个Unicode字符集;
  • 最小值是’\u0000’(即为0);
  • 最大值是’\uffff’(即为65,535);
  • 可以储存一个中文,一个中文两个字节;

  • 默认值是 ‘\u0000’(即为0);  

第四类 逻辑型:

8       bollean 1/8字节

  • 只有两个取值:true和false;
  • 默认值是flase;

二、基本类型对应的包装类


包装类都属于引用类型所以所有的包装类的默认值为null

Byte.MIN_VALUE等都是定义好的常量可以直接调用。


基本类型:byte 二进制位数:8

包装类:java.lang.Byte

最小值:Byte.MIN_VALUE=-128

最大值:Byte.MAX_VALUE=127

 

基本类型:short 二进制位数:16

包装类:java.lang.Short

最小值:Short.MIN_VALUE=-32768

最大值:Short.MAX_VALUE=32767

 

基本类型:int 二进制位数:32

包装类:java.lang.Integer

最小值:Integer.MIN_VALUE=-2147483648

最大值:Integer.MAX_VALUE=2147483647


基本类型:long 二进制位数:64

包装类:java.lang.Long

最小值:Long.MIN_VALUE=-9223372036854775808

最大值:Long.MAX_VALUE=9223372036854775807

 

基本类型:float 二进制位数:32

包装类:java.lang.Float

最小值:Float.MIN_VALUE=1.4E-45

最大值:Float.MAX_VALUE=3.4028235E38

 

基本类型:double 二进制位数:64

包装类:java.lang.Double

最小值:Double.MIN_VALUE=4.9E-324

最大值:Double.MAX_VALUE=1.7976931348623157E308

 

基本类型:char 二进制位数:16

包装类:java.lang.Character

最小值:Character.MIN_VALUE=0

最大值:Character.MAX_VALUE=65535

注意::Character.MIN_VALUE,Character.MAX_VALUE                                 以数值形式而不是字符形式将Character.MIN_VALUE输出到控制台  
System.out.println("包装类:java.lang.Character");  
System.out.println("最小值:Character.MIN_VALUE="+ (int) Character.MIN_VALUE);  
System.out.println("最大值:Character.MAX_VALUE="+ (int) Character.MAX_VALUE);

三、基本类型的直接量!

1)整数型直接量(例如7)会被JVM默认为int类型数据,

将int类型数据赋值给float double long会自动转换 (因为int类型数据长度比他们小)

将int类型数据也可以直接赋值给byte,short类型但是不能超过其类型的范围。

java 基本类型 引用类型 java基本类型_基本类型


2)浮点型字面量(例如7.0)会被JVM默认为double类型数据,转换比它小的数据类型时候要显式转换,否则要声明字面量类型(例如7.0f)


java 基本类型 引用类型 java基本类型_最小值_02


四、基本类型变量和引用变量的区别:

1.基本变量和用用类别在内存的区别:

基本变量在内存中的变量,对应内存所存储的值为实际值

引用类型来说,对应内存所储存的值为其对象的地址。

2.基本变量不能存储在集合中,集合只能存储引用变量,存储基本类型的话,用基本类的包装类。


3.引用变量的默认值为null;引用变量看其类型。

4.基本类型的值传递是按值传递,引用类型的值的值传递也是值传递!java 只有值传递!!

引用类型的值的值传递是引用被复制并以传值的方式进行传递,对象本身并不会被传递。