什么是api?
全称应用程序编程接口,就是Java自己写好的程序,给程序员调用的,方便完成一些功能的。
API文档
- 程序使用说明书
String
是什么?String是字符串类型,它定义的变量可以指向一个字符串对象。
String是不可变字符串
String创建对象的方式
- 方式一:
- 直接使用双引号围起来
- String name = "黑马";
- 方式二:
- new 构造器得到字符串对象
- 两种方式的区别(面试笔试题会问到)
- 双引号给出的字符串对象,存在于堆内存中的常量池中,相同内容只会存储一份。
- new 字符串对象,每new一次都会在堆内存中产生一个字符串对象。
String的常用方法(常用API)
- 判断字符串内容的
- 背景:==判断字符串对象是判断地址的,这样会引起很多业务问题。
- 必要性:判断字符串开发中更多时候希望判断内容一样就返回true,不在乎地址是不是一样,此时需要用equals方法。
- 结论:之后只要是字符串进行内容比较,那必须使用字符串的equals方法
- 结论2:什么时候用比较? 基本数据类型的比较,那就用
- 其他常用方法:
public class StringAPIOtherDemo5 {
public static void main(String[] args) {
// 1、public int length(): 获取字符串的长度
String name = "我爱你中国love";
System.out.println("字符个数:" + name.length());
// 2、public char charAt(int index): 获取某个索引位置处的字符
char ch = name.charAt(1);
System.out.println(ch);
System.out.println("------------遍历字符串中的每个字符--------------");
for (int i = 0; i < name.length(); i++) {
// i = 0 1 2 3 4 5 6 7 8
char c = name.charAt(i);
System.out.println(c);
}
// 3、public char[] toCharArray():: 把字符串转换成字符数组
char[] chars = name.toCharArray();
for (int i = 0; i < chars.length; i++) {
System.out.println(chars[i]);
}
// 4、public String substring(int beginIndex, int endIndex) :截取内容,(包前不包后的)
String s1 = "Java是最牛的编程语言之一~~";
String rs = s1.substring(0,12);
System.out.println(rs);
// 5、public String substring(int beginIndex):从当前索引一直截取到末尾
String rs2 = s1.substring(5);
System.out.println(rs2);
// 6、public String replace(CharSequence target, CharSequence replacement)
String s2 = "三胖哥是最牛的80后,三胖哥的发型yyds,好想跟三胖哥一样!!";
String rs3 = s2.replace("三胖哥", "***");
System.out.println(rs3);
// 7、public boolean contains(CharSequence s)
System.out.println(s2.contains("三胖哥")); // true
System.out.println(s2.contains("三胖哥1")); // false
// 8、public boolean startsWith(String prefix)
System.out.println(s2.startsWith("三胖哥")); // true
System.out.println(s2.startsWith("三胖")); //true
System.out.println(s2.startsWith("三胖2")); //false
// 9、public String[] split(String s): 按照某个内容把字符串分割成字符串数组返回。
String data = "王宝强、贾乃亮、蔡徐坤";
String[] names = data.split("、");
for (int i = 0; i < names.length; i++) {
System.out.println("选择了:" + names[i]);
}
}
}
ArrayList
集合:代表的是一种容器,类似于数组,
集合的特点:大小可变,类型可以不固定,功能更加强大,适合做元素个数不能确定,同时存在怎增删操作的业务场景。
ArrayList 是什么? 是一种集合
- 元素可以重复的,元素存在索引。
如何构建ArrayList的对象代表一个集合容器,存储数据。
- public ArrayList();
- ArrayList list = new ArrayList();
泛型:集合都是支持泛型的
- ArrayList<E>
- 约束集合在编译阶段只能操作某种数据类型
- ArrayList<String> list = new ArrayList();
- ArrayList<Student> list = new ArrayList();
- ArrayList<Movie> list = new ArrayList();
- ArrayList<Integer> list = new ArrayList();
- 注意:集合和泛型都不支持基本数据类型,只能支持引用数据类型。
- 注意:以后定义集合都应该采用泛型
- 问题:我的集合就是要什么都存
- ArrayList list = new ArrayList();
- 推荐这样写:ArrayList<Object> list = new ArrayList<>();
ArrayList的常用方法
ArrayList遍历并删除元素
- 从前往后边遍历边删除存在问题:可能会存在漏掉元素
- 删除元素后,马上后退一步i--就可以了
- 从后往前遍历,边遍历变删除没毛病
ArrayList存储自定义类型的对象
- ArrayList<Student> list = new ArrayList();
- ArrayList<Movie> list = new ArrayList();
- 注意:集合容器中存储的是每个对象的什么东西? 在堆内存中的地址!!