文章目录
常用类库
1.java.lang包
(1) 这是我们API中最基础的一个包
(2) 该包下的类可以直接访问和使用,不需要导入包
(3) 常用的类:
- Object
- String
- StringBuffer
- StringBuilder
- Math
- System
- 8个包装类
- Thread
- Runnable接口
2.java.lang.Object
(1)Object类是所有类的父类
我们呢一般称其为超类、根类、基类。
所有的类都是直接或间接的继承了Object类
如果一个类没有继承类,系统会默认该类继承Object类
(2) 所有类都拥有Object类中的方法
(3) Object构造器
Object();
(4) Object常用的方法
及其用法:
Object o1=new Object();
Object o2=new Object();
// 获取对象的哈希码值
int i=o1.hashCode();
System.out.println(i);
int i2=o2.hashCode();
System.out.println(i2);
// 返回对象的字符串表示:包名.类名@16进制的哈希码值
String s1=o1.toString();
String s2=o2.toString();
System.out.println(s1);
System.out.println(s2);
// 比较两个对象是否相等。
// 比较规则:对象在堆内存的首地址是否相同
boolean bl=o1.equals(o2);
System.out.println(bl);
Object o3=o1;
System.out.println(o1.equals(o3));
(5) ==和equals方法的区别
==即可以比较基本数据类型,也可以比较引用数据类型。
基本数据类型比较的是值,引用类型比较的是对象的首地址。
equals方法只能比较引用数据类型 ,比较的是对象的首地址
例如:
比较两个对象是否相等。
比较规则:对象在堆内存的首地址是否相同
boolean bl=o1.equals(o2);
System.out.println(bl);
Object o3=o1;
System.out.println(o1.equals(o3));
System.out.println(o1==o2);
System.out.println(o1==o3);
// 基本数据类型比较:比较是值是否相等。
// 基本数据类型只能使用==比较
System.out.println(9==9);
3.java.lang.String
(1) 功能:存储字符串和操作字符串
(2) 常用构造器
例如:
保存字符串信息
//构造器,创建String对象,保存字符串信息
String s1="abcd";
String s2=new String("abcd");
char[] cc= {'a','b','c','d'};
String s3=new String(cc);
byte[] bb= {97,98,99,100};
String s4=new String(bb);
常用的方法: 操作字符串
例如:
//获取字符串的长度,就是字符个数
String s5="kjahlkjalkdsjflkdsa";
System.out.println(s5.length());
// 根据下标找字符
char c=s5.charAt(2);
System.out.println(c);
// 根据字符找下标
int i=s5.indexOf("a");
System.out.println(i);
int i2=s5.lastIndexOf("a");
System.out.println(i2);
System.out.println(s5.indexOf("ab"));
System.out.println(s5.indexOf("ah"));
// 截取
String s51=s5.substring(2);
System.out.println(s51);
System.out.println(s5);
String s52=s5.substring(2, 5);
System.out.println(s52);
// 替换
String s53=s5.replace("a", "66");
System.out.println(s53);
System.out.println(s5);
// 分割
String[] s54=s5.split("a");
for (int j = 0; j < s54.length; j++) {
System.out.println(s54[j]);
}
System.out.println(s54.length);
4.java.lang.StringBuffer
(1)作用: 存储字符串、处理字符串
(2)特点: 可变字符串
(3)构造器: StringBuffer(String str)
StringBuffer sb1=new StringBuffer("abcd");
// 操作
System.out.println(sb1.length());
System.out.println(sb1.charAt(2));
System.out.println(sb1.indexOf("b"));
System.out.println(sb1.lastIndexOf("b"));
System.out.println(sb1.substring(2));
System.out.println(sb1);
System.out.println(sb1.replace(1, 3, "666"));
(4)方法:
特有方法:
案例:
//字符串拼接
String s1="abcd";
String s2="1234";
System.out.println(s1+s2);
//两个StrignBuffer 进行拼接用append()
StringBuffer sb1=new StringBuffer("abcd");
StringBuffer sb2=new StringBuffer("1234");
System.out.println(sb1.append(sb2));
System.out.println(sb1);
//反转
sb1.reverse();
System.out.println(sb1);
//删除
sb1.delete(1, 3);
System.out.println(sb1);
//插入
sb1.insert(1, "aaa");
System.out.println(sb1);
(5)StringBuffer和String之间的类型转换
//String转StringBuffer
String s="abcd";
StringBuffer sb=new StringBuffer(s);
//StringBuffer转String
//StringBuffer重写了toString()方法
String s2=sb.toString();
//StringBuffer 没有重写hashCode方法和equals方法
StringBuffer sb1=new StringBuffer("abcd");
StringBuffer sb2=new StringBuffer("abcd");
System.out.println(sb1.hashCode());
System.out.println(sb2.hashCode());
System.out.println(sb1.equals(sb2));
5.java.lang.StringBuilder
和StringBuffer一样
(1) 作用:存储字符串、操作字符串
(2) 特点:可变字符串
(3) 构造器:StringBuilder(String str)
(4) String、StringBuffer、StringBuilder之间的区别
String是常量字符串(字符串不能在内部被更改)、StringBuffer和StringBuilder是可变字符串(字符串可以在内部被改变)
StringBuffer 是线程安全的,而StringBuilder是非线程安全的。
6、java.lang.System(了解)
(1) 类属性
System.in 标准输入流
System.out 标准输出流
System.err 错误输出流
(2) 类方法
System.exit(int i) 退出jvm,0表示正常退出,非0不正常退出
(3)
键盘输入类:java.util.Scanner
Scanner sc=new Scanner(System.in);
sc.next(); //返回一段输入的字符串
sc.nextLine(); //返回一行输入的字符串
sc.nextXXX(); //返回xxx类型的输入信息
案例:
System.exit(0);
System.out.println("打印普通信息");
System.err.println("这是程序的错误信息");
Scanner sc=new Scanner(System.in);
// String mess=sc.next();
// String mess=sc.nextLine();
int mess=sc.nextInt();
System.out.println(mess);
7、java.lang.Math
(1) 作用:数学运算
(2) 类属性:
PI
(3) 类方法:
random()
round(double d)
案例:
System.out.println(Math.PI);
System.out.println(Math.random());
System.out.println(Math.round(3.15));