java基础之数据类型

一、变量与数据类型

  变量就是申请内存来存储值,就是说,当创建变量时,需要在内存中申请空间,内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能存储该类型数据

二、 两大数据类型

  1 内置数据类型

    (1)数字类型

    

 

  (2)引用数据类型

    在java中,引用类型的变量类似于C/C++的指针,引用类型指向一个对象,指向对象的变量是引用变量,这些变量在声明时被指定为一个特定的类型,

    对象、数组都是引用数剧类型,

    所有引用类型的默认值都是null

    一个引用变量可以用来引用任何与之兼容的类型

三、java常量

  常量在程序运行时是不能被修改的,在java中final关键字来修饰常量,声明方式和变量类似,final  double PI=3.1415927。在使用字面量的时候,前缀0表示8进制,0x代表16进制,java的字符串常量也是包含在俩个引号之间的字符序列

四、自动类型转换

  整形,常量、字符串数据都可以混合运算,不同类型的数据线转化为同一类型,然后进行运算,转换从低级到高级

  

 数据类型转换必须满足如下的规则

  1.不能对boolean类型进行类型转换

  2.不能把对象类型转换成不相关类的对象

  3.在把容量大的类型转换成容量小的类型时,必须使用转置类型转换

  4.转换过程中可能导致溢出或损失精度

  例如 

   int i=18 

  byte b =(byte)i 

  因为byte类型是8位,最大值是127,所以当强制转化为byte时,值128就会溢出

  5.浮点数到整数的转化是靠舍弃小数,而不是四舍五入

五、自动类型转化

  必须满足转换前的数据类型的位数要低于转换后的数据类型,例如short数据内省的位数为16位,就可以自动转化为32的int类型

六、强制类型转化

  1.条件是转化的数据类型是兼容的

  2.格式:(type)value  type是要强制类型转换后的数据类型

七、隐含强制类型转换

  1.整数的类型是int

  2.浮点型不存在这种情况,因为在定义float类型时必须在数字后面跟上F或者f

原文地址:https://www.cnblogs.com/shi-san/p/13741337.html