什么是api?
全称应用程序编程接口,就是Java自己写好的程序,给程序员调用的,方便完成一些功能的。
API文档
程序使用说明书
String
是什么?String是字符串类型,它定义的变量可以指向一个字符串对象。
String是不可变字符串
String创建对象的方式
方式一:
- 直接使用双引号围起来
• String name = "黑马";
方式二:
- new构造器得到字符串对象
•
两种方式的区别(面试笔试题会问到)
- 双引号给出的字符串对象,存在于堆内存中的常量池中,相同内容只会存储一份呢。
- new字符串对象,每new一次都会在堆内存中产生一个字符串对象。
String的常用方法(常用API)
判断字符串内容的
- 背景: == 判断字符串对象是判断地址的,这样会引起很多业务问题。
- 必要性:判断字符串开发中更多希望判断内容一样就返回true,不在乎地址是不是一样,此时需要用equals方法。
- 结论1:之后只要是字符串进行内容比较,那必须使用字符串的equals方法
- 结论2:什么时候用 == 比较?基本数据类型的比较,那就用 ==
其他常用方法:
-
public class StringAPIOrherDemo5 { 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 c = name.charAt(1); System.out.println(c); System.out.println("-------------遍历字符串中的每个字符-----------"); for (int i = 0; i < name.length(); i++) { char ch = name.charAt(i); System.out.println(ch); } // 3,public char[] toCharArray(): 把字符串转换成字符数组 char[] chars = name.toCharArray(); for (int i = 0; i < chars.length; i++) { char ch = chars[i]; System.out.println(ch); } // 4,public String substring(int beginIndex, int endIndex):截取内容(包前不包后) String name2 = "Java是最厉害的编程语言!"; String rs = name2.substring(0, 9); System.out.println(rs); String rs1 = name2.substring(4, 9); System.out.println(rs1); // 5,public String substring(int beginIndex):从当前索引一直截取到末尾 String rs2 = name2.substring(4); System.out.println(rs2); // 6, public String replace(CharSequence target, CharSequence replacement): 从当前索引一直截取到末尾 String name3 = "张大仙是最厉害的90后,张大仙棒棒的!我好喜欢张大仙"; String rs3 = name3.replace("张大仙" , "***"); System.out.println(rs3); // 7,public boolean contains(CharSequence s) System.out.println(name3.contains("张大仙")); // true System.out.println(name3.contains("张二仙")); // false // 8,public boolean starsWith(String prefix) System.out.println(name3.startsWith("张大仙")); System.out.println(name3.startsWith("张大仙是最厉害的")); System.out.println(name3.startsWith("张大仙是最厉害的2")); // 9,public String[] split(String s): 按照某个内容把字符串分割成字符串数组返回。 String name4 = "高启强,高启盛,高启兰"; String[] names = name4.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();
注意:集合容器中存储的是每个对象的什么东西?
- 在堆内存中的地址!!!