Java 数据类型

基本数据类型

八大基本数据类型:

  • 都是关键字
  • 有自己的取值范围:基本单位:0/1 bit
  • 带符号:
    - 整数型:byte、short、int、long
    - 浮点型:float、double
  • 不带符号:
    - 字符型:char
    - 布尔型:boolean
    - byte(字节):
  • 有正负号之分,以二进制补码表示整数
  • 有8bit占1个字节
  • 取值范围:[-28 ,28 -1]
  • 默认赋值为0
    short(短整型):
  • 有正负号之分,以二进制补码表示整数
  • 有16bit占2个字节
  • 取值范围:[-216 ,216 -1]
  • 默认赋值为0
    int(整型):
  • 有正负号之分,以二进制补码表示整数
  • 有32bit占4个字节
  • 取值范围:[-232 ,232 -1]
  • 默认赋值为0
    long(长整形):
  • 有正负号之分,以二进制补码表示整数
  • 有64bit占8个字节
  • 取值范围:[-264 ,264 -1]
  • 默认赋值为0 L
    float(单精度浮点型):
  • 有正负号之分,以二进制补码表示整数
  • 有32bit占4个字节
  • 取值范围:[-232 ,232 -1]
  • 默认赋值为0.0f

double(双精度浮点型):

  • 有正负号之分,以二进制补码表示整数
  • 有64bit占8个字节
  • 取值范围:[-264 ,264 -1]
  • 默认赋值为0.0d
    char(字符型):
  • Java中一个字符(char)表示Unicode字符集中的一个元素
  • char没有符号,只能表示整数,不能表示负数
  • 以char定义的变量,它的定界符是单引号,而非双引号
  • 有16bit占2个字节
    ** boolean(布尔型):**
  • boolean没有符号,只能表示整数,不能表示负数
  • 有8bit占1个字节
  • 取值范围:0(false)和1(true)
  • 默认值为false

引用数据类型

  • Class类、interface接口、arr[]数组
  • String(字符串) 类名的首字母必须大写
public class Select{
                     int a;
                     char b;  
               }
  • String是属于class的类型,它不是关键字,没有固定的取值范围
  • String储存的字符个数可以很大也可以很小
  • 1byte(字节)等于8bit(比特)
  • 若是八大基本数据类型中的int i=0;占32个bit,若int i=2000,它也是占32个bit
  • short i=0,占16bit,short i=1000,也占16bit

处理数据

  • 运算、拼接、比较
  • 两个字符串比较内容
  • 在内存中创建一个字符串“AS”将其储存起来,之后若需要赋值为“AS”,可以把之前储存的地址给它,用new String(“AS”),没声明一次对象都有自己的一份新空间来储存字符串
equals方法
  • equals方法
    - 若它是八大基本数据类型,可以直接用equals的方法比较
  • 若比较的是String字符,它的取值范围可以是很多字符也可以是一个字符,需要逐一比较String的字符内容,则需要重写equals的方法
  • String中的equals重写的是Object类的,改造代码内容,重写之后的方法优先被调用
Object类是所有类中的隐式父类
  • equals方法
    - Object提供给所有子类可以用写的equals方法
    - 若需要比较自己定义的类创建的对象,必须要重写equals方法
    - 重写的方法中,属性需要逐一来比较
equals(比较) 自己写的类 使用的class数组

需要比较:

  • 地址是否一样
  • 类型是否一样
  • 尺寸(长度、内容、数量)
  • 内容
==方法和equals的方法的区别
  • ==方法:比较的是一个具体清晰的内容、值,因为它的范围是规定了的,不论你写多少内容,它也只占规定的那几个字符。
  • equals方法:比较的是一个不清晰的内容、类型、值,需要逐一比较它的地址、内容、值,因为String字符串它的取值范围不确定,可以是多个字符或者单个字符。
Code
public class Show {
    String name;
    public Show(String A){

        this.name=A;
    }

    @Override
    public boolean equals(Object anobj) {
        if (anobj == this) {
            return true;
        }
        if (anobj instanceof Show) {

            Show does = (Show) anobj;
            if (name.equals(does.name)) {
                return true;
            }

        }
            return false;

    }

    public static void main(String[] args) {
        Show show=new Show("2");
        Show show1=new Show("3");

        System.out.println(show.equals(show1));
        System.out.println(show==show1);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值