昨日内容回顾
API
Scanner类中的next和nextLine方法的区别
两个方法都可以使用键盘接收字符串数据;
区别是:
1. next方法接收字符串的时候,不能接受带空格的数据,如果要接受带空格的数据,会丢失空格后面的数据;但是它可以与nextInt方法混合使用;
2. nextLine方法接收字符串的时候,能接受带空格的数据,但是它不可以与nextInt方法混合使用,如果混合使用,会导致nextLine丢失一次键盘输入的机会;
String
双引号创建的字符串和构造方法创建的字符串有什么区别
- 双引号创建的字符串会保存到字符串常量池中,会保证只有一份;
- new的字符串会保存到堆内存中,每new一次都会得到一个新的空间;
常用方法
比较
- 严格比较 equals(“要比的字符串”)
- 忽略大小写比较 equalsIgnoreCase(“忽略大小写的字符串”)
遍历
- 长度 length()
- 根据索引获取字符 charAt(索引)
- 转字符数组 toCharArray();
截取
- substring(int s,int e); 从s索引位置截取到e索引位置,含s不含e;
- substring(int s); 从s索引位置截取到末尾;
替换
replace(被替换的旧值,替换后的新值); 要想看到方法执行的效果,必须使用变量接收方法的返回值;
切分
split(用什么切); 返回的是字符串数组 ,如果头满足切分的条件,会保留长度为0的空串,尾部保留;
扩展
- 以指定的字符串开头 startsWith(指定的字符串);
- 以指定的字符串结尾 endsWith(指定的字符串);
- 转大写 toUpperCase();
- 转小写 toLowerCase();
StringBuilder
构造方法
空参数的构造方法
带字符串参数的构造方法;
常用方法
添加数据 append(任意数据类型)
转字符串 toString();
反转 reverse();
为什么要把String转成StringBuilder?
因为StringBuilder进行字符串拼接的时候,效率更高,而且还有reverse方法;
为什么要把StringBuilder转成String?
因为比较字符串内容是否相同的时候,StringBuilder里面没有equals("要比的字符串")方法;
今日内容
集合与数组的区别
集合和数组都可以保存多个数据;
区别是:
集合的长度是可变的;
数组的长度是固定的;
集合(ArrayList)
概述
java在java.util包下写了一个ArrayList类,用于表示集合容器;
构造方法和常用方法
泛型
所谓的泛型可以简单理解为是一个特殊的变量,泛型保存的是一个数据类型;目的是为了让我们在使用集合容器的时候,告诉java,我们要往容器中添加的数据类型是什么;
语法格式: <具体的引用数据类型>
例如:
ArrayList<String> list = new ArrayList<String>();
此时就是把String这个类型告诉java了,我们要往list这个容器中添加的数据都是字符串类型;
常用方法
例如: