String类
1、Scanner类
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个正整数:");
int i = sc.nextInt();
- nextInt()方法代表下一个键盘输入值的类型
- hasNext()判断是否还有值
2、String类
2.1、String类的构造方法
无参构造,具体见jdk文档,还有很多种
String s1 =new String()
注意:equals和 == 号的区别
- equals 比较的是两个字符串是否相等,值
- 比较引用是否相等,必须是两个都为相同对象时,才为true
常量池的概念和特点
- 常量池中没有这个字符串对象,就创建一个,如果有直接用即可
String str1="ab";
String str2="abc";
String str3=str1+"c";
System.out.println(str3==str2); //false
System.out.println(str3.equals(str2)); //true
String中的字符串串联符号“+”以及将其他对象转换为字符串的特殊支持,字符串串联是通过(字符串的缓冲区)==StringBuilder(或StringBuffer)==及其append方法实现的。底层会先创建StringBuilder对象,将字符串串起来(“abc”),然后再用toString()方法转换为String对象。
2.2、String类的判断功能
boolean equals(Object obj) :比较两个字符串的内容是否相同,区分大小写
boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写
boolean contains(String str):判断字符串是否包含小字符串
boolean startsWith(String str):判断字符串是否以某个指定的字符串开头
boolean endsWith(String str):判断字符串是否以某个指定的字符串结尾
boolean isEmpty(): 判断字符串是否为空
“”和null的区别
“”是字符串常量,同时也是一个String类的对象,既然是对象当然也可以调用String类中的方法
null是空常量,不能调用任何方法,否则会出现空指针异常,null常量可以给任意的引用数据类型赋值
2.3、String类的获取功能
数组中的length和字符串中的length的区别:
数组中的length是属性
而字符串中的length()是方法。
一般都是左闭右开
int length():获取字符串长度
char charAt(int index):获取指定索引位置的字符串
int indexOf(char ch):返回指定字符在此字符串中第一次出现处的索引,如果不存在,返回-1
int indexOf(String str):返回指定字符串在此字符串中第一次出现处的索引
int indexOf(int ch,int fromIndex):返回指定字符在此字符中从指定位置后第一次出现处的索引
int indexOf(String str,int fromIndex):返回指定字符串在此字符串中从指定位置后第一次出现处的索引
lastIndexOf(代替前面的,是从后向前找)
String substring(int start):从指定位置开始截取字符串,默认到末尾
String substring(int start,int end):从指定位置开始到指定位置结束截取字符串
- 面试题中,substring方法返回的是一个新的字符串,原来那个字符串不变
2.4、字符串的遍历
String s="abcde";
for (int i = 0; i <s.length() ; i++) {
char c=s.charAt(i);
System.out.print(c+" ");
}
2.5、String类的转换功能(需要了解)
以下都是对象.方法
byte[] getBytes():把字符串转换为字节数组
char[] toCharArray():把字符串转换为字符数组
static Sting valueOf(char[] chs):把字符数组转换为字符串
static String valueOf(int i):把int类型的数据转换成字符串
这两个底层都是使用new String()来做的
String toLowerCase():把字符串转成小写
String toUpperCase():把字符串转成大写
String concat(String str):把字符串拼接
2.6、String的其他功能
- String的替换功能
- String replace(char old,char new)
- String replace(String old,String new)
- String的去除字符串两空格,去除开头和末尾的
- String trim()
- String 的按字典顺序比较两个字符串
- int compareTo(String str)(暂时不用掌握)
- int compareToIgnoreCase(String str)(了解)