1、类库介绍
1.1 - 常用包
java.lang包 - 该包是java中的核心包,该包中的所有类由java虚拟机自动导入。
如:String类、System类、Thread类…
java.util包 - 该包是java中的工具包,该包中提供了大量的工具类和集合类等。
如:Scanner类、Random类、Collections类…
java.io包 - 该包是java中的IO包,该包中提供了有关输入输出的类信息。
如:FileOutputStream类、FileInputStream类
java.net包 - 该包是java中的网络包,该包中提供了有关网络编程的类的信息。
如:ServerSocket类、Socket类、DatagramSocket类…
1.2 - Object类
基本概念
java.lang.Object类是所有类层次结构中的根类。
常用方法
方法名 | 说明 |
| 用于判断调用对象和参数对象是否相等 |
| 用于返回调用对象的哈希码值(内存地址的编号,对一个一块内存) |
| 用于返回对象的字符串表示形式 |
import java.util.Objects;
/**
* @author ly_smith
* @Description #TODO
*/
//当自定义类没有继承于任何类的时候,默认继承与Object
public class Student {
private String name;
private int age;
public Student() {
}
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Student student = (Student) o;
return age == student.age &&
Objects.equals(name, student.name);
}
@Override
public int hashCode() {
return Objects.hash(name, age);
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
------------------------------------------------
/**
* @author ly_smith
* @Description #TODO Object类中的常用方法
*/
public class Demo01 {
public static void main(String[] args) {
Student stu01 = new Student("Andy", 18);
Student stu02 = new Student("Andy", 18);
//当学生类没有重写equals方法时,默认使用的是Object类中的equals方法
// System.out.println(stu01.equals(stu02));//false
//当前已经在Student类重写了equals方法,比较的是对象的内容
System.out.println(stu01.equals(stu02));//true
System.out.println("------------------------------------------");
//当Student类中没有重写toString方法时,默认调用Object类中的toString方法
// System.out.println(stu01.toString());
System.out.println(stu01);//打印对象会自动调用toString方法
System.out.println(stu01.toString());
}
}
1.3 - 包装类
1.3.1 - 包装类概念
在某些场合(集合)中要求所有数据类型都必须是对象,但是java中的8种基本数据类型的定义并不是对象,为了满足集合场合的需求就需要对变量进行对象化处理,此时需要借助包装类。
1.3.2 - 常用的包装类
基本数据类型 | 包装类 |
| java.lang.Byte类 |
| java.lang.Short类 |
| java.lang.Integer类 |
| java.lang.Long类 |
| java.lang.Float类 |
| java.lang.Double类 |
| java.lang.Boolean类 |
| java.lang.Character类 |
1.3.3 - Integer类
基本概念
java.lang.Integer类被final关键字修饰表示该类不能被继承。
该类的内部包装了一个int类型的变量作为该类的成员变量,实现了int类型的包装。
装箱和拆箱的概念
装箱就是指从int类型向Integer类型的转换。
拆箱就是指从Integer类型向int类型的转换。
从JDK1.5以后,编译器提供了自动装箱和拆箱的机制
常用方法
方法名 | 说明 |
| 用于返回该调用对象的int类型数据 |
| 用于返回该调用对象的float类型数据 |
| 用于将参数指定的字符串转换成整数类型并返回 |
| 用于将参数指定整数拆分成字符串形式的二进制并返回 |
| 用于将参数指定的整数拆分成字符串形式的十六进制并返回 |
| 用于将指定参数的字符串转换成Integer对象 |
/**
* @author ly_smith
* @Description #TODO Integer类常用方法
*/
public class Demo02 {
public static void main(String[] args) {
String str01 = "123";
String str02 = "123abc";
int num01 = 456;
Integer num02 = 789;
int num03 = num02;//自动拆箱
// int i = num02.intValue(); Ctrl + Alt + V 快速生成当前引用类型和引用名
System.out.println(num02.intValue());
System.out.println(num02.floatValue());
System.out.println(Integer.parseInt(str01));
// System.out.println(Integer.parseInt(str02)); java.lang.NumberFormatException: For input string: "123abc"
System.out.println(Integer.toBinaryString(num01));
System.out.println(Integer.toHexString(num01));
Integer integer = Integer.valueOf(str01);
System.out.println(integer);
}
}
1.4 - String类(重点)
基本概念
java.lang.String类由final关键字修饰,表示该类不能被继承。
该类用于描述字符串,使用该类创建的对象可以用来描述java中的所有字符串字面值,如:“abc”,“123”.
有什么区别
String s1 = null;
String s2 = "";
前者的形式表示没有字符串对象 ,后者表示有字符串对象,但是对象中没有内容。
常用构造方法
方法名 | 说明 |
| 使用无参的形式构造字符串对象 |
| 使用参数指定的字节数组来构造对象 |
| 使用参数指定字节数组中的一部分内容来构造字符串 |
/**
* @author ly_smith
* @Description #TODO String类构造方法
*/
public class Demo03 {
public static void main(String[] args) {
//创建byte类型数组,并且进行初始化
byte[] bytes = {97,98,99,100,101,102,103};
String s = new String();//创建空字符串对象
System.out.println(s);
String s1 = new String(bytes);//将整个byte数组转换成String类型对象
System.out.println(s1);
String s2 = new String(bytes, 4, 3);//将byte数组中的一部分内容转换成字符串
System.out.println(s2);
}
}
方法名 | 说明 |
| 用于返回调用对象指定参数位置的字符 |
| 用于返回字符串的长度 |
| 表示按照字典顺序来比较两个字符串的大小 |
| 比较字符串大小,忽略大小写 |
| 用于判断调用对象字符串和参数对象字符串内容是否相等 |
| 判断字符串是否相等,忽略大小写 |
| 判断调用对象字符串中是否包含参数字符串 |
| 返回参数对象与调用对象的拼接 |
| 判断当前字符串是否以suffix为结尾 |
| 判断当前字符串是否以prefix开头 |
| 用于将所有调用对象字符串都转换为小写 |
| 用于将所有调用字符串对象转换为大写 |
| 用于将字符串内容转换为byte数组并返回 |
| 用于查找指定参数第一次出现的下标,不存在则返回-1 |
| 用于查找指定参数最后一次出现的下标。 |
| 用于获取从参数指定位置开始截取字符串并返回 |
| 用于获取从beginIndex位置开始到endIndex位置结束之间的字符串。 |