数据类型

        在程序编写中,创建一个变量就意味着在内存中开辟一定的空间用来存储数据。基于不同 类型的变量,JVM将自动申请内存空间并决定你可以将那些值存储到内存空间里面。因此,通过为变量指定不同的数据类型,我们就可以将整数、小数或者是字符存储到变量中了。

    Java中有两种数据类型:原始数据类型(Primitive)和引用/对象数据类型(Reference/Object)。

一、原始数据类型

        Java语言支持八种原始数据类型,使用Java关键字命名。每种类型的最大值最小值可以通过类型的MAX_VALUE和MIN_VALUE方法获取,如Byte.MIN_VALUE

      

原始数据类型长度最小值 最大值默认值示例
byte8bit-1281270byte val=100
short16bit-2^152^15-10short s = 10000
int32bit-2^312^310int a = 100000, 
long64bit-2^422^640long a = 100000L
float32bit1.4E-453.4028235E380.0ffloat f1 = 234.5f;
double64bit4.9E-3241.7976931348623157E3080.0ddouble d1 = 123.4
boolean1bit  falseboolean one = true
char16bit   char letterA = 'A'

  二 引用数据类型

Java中除了8中基本数据类型以外,其他的数据类型统称为引用类型(reference Type),具体包括:类、接口、数组、枚举和注释类型。引用类型数据以对象的形式存在。引用类型变量的值是某个对象的句柄,而不是对象本身。声明引用类型变量时,系统只为该变量分配引用空间,并未创建一个具体的对象。为引用数据类型赋值,需使用new关键字。任何引用变量的默认值都是null,任何引用变量都能够指向声明为同类型或兼容数据类型的对象。所有的引用类型都继承自Object类。


三 数据类型的转换

     1、高精度向低精度转换,会精度丢失;

        2、如果一个对象与另一个对象没有任何的继承关系,那么他们就不能进行类型转换。如果要把一个派生类对象赋值给基类对象这个称为上溯造型。如果要把基类对象赋值给派生类对象就需要强制类型转换,这称为下溯造型,下溯造型有一些危险,要安全的进行下溯造型有一个前题,基类对象必须是从派生类对象中上溯过来的。

例如:
class Base{}
class Child extends Base{
public static void main(String[] args){
Base base=new Child();//上溯造型
Child child=(Child)base;//下溯造型
Child child1=(Child)new Base();//抛出ClassCastException异常
}
}
    3、String与引用类型的转换。前面已经说过,所有的对象都是从Object继承过来的,Object中有一个toString方法。这个方法是所有的对象都可以转换成String,如果想把自定义的类转换成String,最安全的做法是重写toString方法。和基本类型一样如果对象前有String对象用+连接,对象就会隐式转换成String,这种情况实际上是隐式调用了toString方法。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值