基本数据类型
八大基本数据类型:
- 都是关键字
- 有自己的取值范围:基本单位: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);
}
}