JavaLearning-Java数据类型

Java基本类型

new关键字会将对象存储在“堆”中,由于基本数据类型是小并且简单的变量,用new在堆中创建,并不是非常有效。因此,Java采取与C和C++相同的方式,将基本类型存储在中,不需要new来创建变量,基本变量直接存储值,可以提高效率。
Java基本数据类型,为了方便可移植性,每种基本数据类型所占空间的大小是固定不变的,不随硬件架构的变化而变。

8种基本类型

  • 整型
    byte(1字节/8bit)
    short(2字节/16bit)
    int(4字节/32bit)
    long(8字节/64bit)
  • 浮点型
    float(4字节/32bit)
    double(8字节/64bit)
  • 字符型
    char(2字节/16bit)
  • 布尔型
    boolean

类型转换

  1. 自动转换
    数据类型小的自动转换为数据类型大的。
double d = 8;
  1. 强制转换
    数据类型大的强制转换为数据类型小的,会丢失一定精度。
int n = (int) 2.12;

Java引用类型

字符串

所有“”都是String类的对象。字符串是常量,一旦创建,不可更改。本质char[]。——private final char value[];——堆内存有一个常量池,字符串对象以char[]数组形式存在。不可变更的是char[]数组的数据,即字符串对象。

  • StringBuffer类
    解决String类的内存浪费问题。
    字符串的缓冲区。内部采用了可变数组方式。内部定义了数组,内部char[]没有final(实现可变性),默认容量16个字符。
  • StringBuilder类
    StringBuilder类中的方法与StringBuffer类中的API完全一致(方法一致)。但是不保证同步,适用于单线程,运行速度快。线程不安全的类。

数组

创建一个数组,就是创建了一个数组的引用,并且赋予相对应的默认初始值。

自动拆箱与装箱

8种基本数据类型的包装类(Byte、Integer、Short、Long、Float、Double、Boolean、Character)
jdk1.5后
自动装箱——基本数据类型包装对象
自动拆箱——引用类型转变为基本数据类型

Integer i = 1;//自动装箱
int x = i;//自动拆箱

优点:基本类型和引用类型可以直接运算。缺点:Integer in = null;in = in+1;会出现空指针异常——java.lang.NullPointerException;

抽象类

包含抽象方法的类叫做抽象类。只要包含抽象方法,该类必须被限定为抽象类,否则,编译不通过。(但是抽象类可以不包含抽象方法,该抽象类仅仅用于被继承,被限制不可创建对象)
抽象类不能被实例化,不能使用new关键字创建对象,原因在于不可调用抽象方法。

接口

为了解决抽象类的耦合度以及单继承问题,引入接口概念。
接口比抽象类更抽象,所有的成员方法均是抽象的。
定义方法——public abstract 返回值 方法名(参数列表);
定义变量——public static final 数据类型 变量名 = 值。(必须定义为常量,不可更改)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值