常用API
1. API简介
- Application Programming Interface,应用程序编程接口,别人写好的类我们直接拿来使用。
- API的使用
- 查看API文档。
- 看包。java.lang下的类不需要导包,其他需要。
- 看类的定义和功能描述。
- 看构造方法和成员方法。
2. String
2.1 特点
- String类代表字符串类,底层是一个byte数组。
- 每次对字符串变量进行拼接操作,都会返回新的字符串对象。
2.2 创建对象
- new方式创建
- 先在常量池里查找字符串,如果找到则直接在堆中创建对象并返回堆中的对象地址。如果常量池中没有该字符串,则会在常量池和堆中都创建该字符串对象,然后将堆中地址返回给变量。
- 直接赋值字符串常量
- 直接赋值字符串常量时,直接在常量池里创建对象,并将地址返回给变量。
2.3 构造方法
public String(String value)
-
public String(char[] value)
- 根据char数组创建字符串对象
-
public String(char[] value, int offset, int count)
- 从数组的offset开始,共count个字符创建字符串
-
public String(byte[] values)
- 根据byte数组创建字符串
2.4 常用方法
- 判断相等
- boolean equals(Object anObject)
- 判断字符串内容是否相等,区分大小写
- boolean equalsIgnoreCase(String anotherString)
- 判断字符串内容是否相等,不区分大小写。
- boolean equals(Object anObject)
- 提取子串
- String substring(int beginIndex)
- 从beginIndex位置起,获取后面子串返回。
- String substring(int beginIndex, int endIndex)
- 取出beginIndex到endIndex之间的子串,不包含endIndex。
- String substring(int beginIndex)
- 大小写转换
- String toLowerCase()
- 字符串全部转小写返回。
- String toUpperCase()
- 字符串全部转大写返回。
- String toLowerCase()
- 字符串查找
- int indexOf(int ch)
- 返回指定字符在字符串中第一次出现的位置索引。找不到时返回-1
- int indexOf(String str)
- 返回指定子字符串在此字符串中第一次出现的位置索引,找不到返回-1
- int indexOf(String str,int fromIndex)
- 返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始,找不到返回-1
- boolean startsWith(String prefix)
- 判断字符串是否以指定的前缀开始。
- boolean endsWith(String suffix)
- 判断字符串是否以指定的后缀结束。
- 字符串替换
- String trim()
- 截去字符串两端的空格,但对于中间的空格不处理。
- String replace(char oldChar, char newChar)
- 用字符newChar替换当前字符串中所有的oldChar字符,并返回一个新的字符串。
- String trim()
- 其他方法
- int length()
- 获取字符串长度。
- char charAt(int index)
- 根据索引返回指定字符,索引从0开始。
- String[] split(String regex)
- 根据指定的regex符号将字符串分割成字符串数组返
- public char[] toCharArray()
- 将字符串转换为字符数组返回。
- int length()
4. "==" 和 "equals"
-
==
- 基本数据类型比较的是数据的值。
- 引用类型比较的是地址值。
-
equals
- 比较的是字符串的内容值是否相同。
3. StringBuilder
3.1 构造方法
- StringBuilder()
- StringBuilder(String str)
3.2 常用方法
- public String toString()
- 重写了Object原始的toString()方法,返回拼接的字符串内容
- public int length()
- 返回拼接的字符串的长度
- public StringBuffer append(任意类型)
- 将参数拼接成字符串,并返回StringBuilder对象本身
- public StringBuffer reverse()
- 将字符串反转,并返回StringBuilder对象本身。
4. ArrayList
1.1 集合的概述
-
什么是集合
集合是java的==数据容器==,可以==动态==的存储==多种类型==的数据。
-
集合和数组的区别:
数组:大小固定,只能存储相同类型的数据。
集合:大小可动态扩展,可以存储各种类型的数据。
1.2 ArrayList类概述
-
ArrayList集合的特点
==底层是数组实现的,长度可以变化。==
-
泛型的使用
用于标记和约束集合中存储元素的数据类型。
-
泛型语法格式 :<引用数据类型>
ArrayList集合存储字符串数据:ArrayList<String>
ArrayList集合存储学生类对象:ArrayList<Student>
1.3 ArrayList的构造方法和添加方法
构造方法
public ArrayList(); //无参构造方法,表示创建一个空的集合容器
添加集合元素的方法
public boolean add(E e) //向集合中末尾添加元素
public void add(int index, E element) //向集合的指定位置index添加元素E
案例代码
public class ArrayListDemo{
public static void main(String[] args){
//创建集合对象,存储字符串类型数据
ArrayList<String> list = new ArrayList<>();
//向集合中添加元素
list.add("javase");
list.add("javaee");
//打印集合元素内容
System.out.println(list);
//向集合指定位置添加元素
list.add(0,"javaweb"); // 向集合第一个位置添加元素javaweb,原先的元素向后移动
//打印集合元素内容
System.out.println(list);
}
}
1.4 ArrayLis常用的方法
public boolean remove(Object o) //删除指定的元素,返回删除是否成功
public E remove(int index) //删除指定索引处的元素,返回被删除的元素
public E set(int index,E element) //修改指定索引处的元素,返回被修改的元素
public E get(int index) //返回指定索引处的元素
public int size() //返回集合中的元素的个数
public boolean add(E e) //将指定的元素追加到此集合的末尾
public void add(int index,E element) //在此集合中的指定位置插入指定的元素
案例代码
/*
ArrayList常用方法
*/
public class ArrayListDemo {
public static void main(String[] args) {
//创建集合
ArrayList<String> list = new ArrayList<>();
//添加元素
list.add("hello");
list.add("world");
list.add("java");
//public int size():返回集合中的元素的个数
System.out.println(list.size());
//输出集合
System.out.println("list:" + list);
}
}
1.5 ArrayList存储字符串并遍历
需求:
创建一个存储字符串的集合,存储多个字符串元素,并使用for循环完成集合的遍历。
案例代码:
/*
步骤:
1. 创建集合对象 :ArrayList<String> list = new ArrayList<>();
2. 使用add(元素值)方法添加元素。
3. for循环遍历集合,通过size()方法获取循环次数。
4. 循环内通过get(int index)方法获取元素。
*/
public class ArrayLisDemo2 {
public static void main(String[] args) {
// 1. 创建集合对象
ArrayList<String> list = new ArrayList<>();
// 2. 往集合中添加字符串对象
list.add("java");
list.add("javase");
list.add("javaee");
// 3. for循环遍历集合
for(int i=0; i<list.size(); i++) {
// 4. 遍历每个索引对应的集合元素
String s = list.get(i);
System.out.println(s);
}
}
}
1.6 ArrayList存储学生对象并遍历
需求:
创建一个存储学生对象的集合,存储3个学生对象,并实现遍历打印。
步骤:
- 定义一个学生类Student,使其具有姓名、年龄等属性。
- 创建3个学生对象。
- 创建ArrayList集合对象,泛型类型为Student。
- 将学生对象添加到集合中。
- 遍历集合,获取每一个学生对象并输出对应的姓名和年龄。
案例代码:
//学生类对象
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;
}
}
//测试类
public class ArrayListDemo3 {
public static void main(String[] args) {
//1、创建集合对象
ArrayList<Student> list = new ArrayList<>();
//2、创建学生元素对象
Student s1 = new Student("狗蛋",20);
Student s2 = new Student("狗剩",25);
Student s3 = new Student("狗娃",22);
//3、往集合添加元素
list.add(s1);
list.add(s2);
list.add(s3);
//4、遍历元素对象
for (int i = 0; i < list.size(); i++) {
Student s = list.get(i);
System.out.println(s.getName() + ":" + s.getAge());
}
}
}
1.7 ArrayList存储学生对象并遍历升级版
需求:
通过键盘录入数据为学生对象赋值。
将学生对象添加到集合中。
遍历集合。
案例代码:
/*
步骤:
1. 定义学生类。(使用之前定义的Student类即可)
2. 创建集合对象。
3. 创建学生对象,键盘录入学生对象所需要的数据。
4. 往集合中添加学生对象。
5. 遍历集合,获取每一个学生对象,并打印学生信息。
*/
public class ArrayListTest {
public static void main(String[] args) {
//创建集合对象
ArrayList<Student> list = new ArrayList<>();
//调用方法,往集合中添加学生对象
addStudent(list);
addStudent(list);
addStudent(list);
//遍历集合
for (int i = 0; i < list.size(); i++) {
Student s = list.get(i);
System.out.println(s.getName() + " : " + s.getAge());
}
}
/*
两个明确:
返回值类型:void
参数:ArrayList<Student> list
*/
public static void addStudent(ArrayList<Student> list) {
//键盘录入学生对象所需要的数据
Scanner sc = new Scanner(System.in);
System.out.println("请输入学生姓名:");
String name = sc.nextLine();
System.out.println("请输入学生年龄:");
int age = sc.nextInt();
//创建学生对象,并设置成员变量的值。
Student s = new Student();
s.setName(name);
s.setAge(age);
//往集合中添加学生对象
list.add(s);
}
}