大纲:
Day08(常用API)学习目标
【学习目标】理解、了解、应用、记忆
通过今天的学习,参训学员能够:(解释的时候说出二级目标的掌握程度)
- 【应用】API概述
- 【了解】能够阐述API的作用
- 【应用】能够根据类名在API中快速找到该类
- 【应用】Scanner类与String类
- 【应用】能够独立使用Scanner完成键盘录入字符串
- 【应用】能够熟练写出String类的常用构造方法
- 【理解】能够阐述创建字符串对象两种方式的区别
- 【应用】能够独立写出String判断功能与获取功能相关案例
- 【应用】能够独立写出String转换功能与其它功能相关案例
- 【应用】StringBuilder类
- 【理解】能够阐述StringBuilder拼接字符串高效的原因
- 【应用】能够完成String与StringBuilder相互转换的案例
- 【应用】能够利用StringBuilder把数组拼接成一个字符串案例
- 【应用】能够利用StringBuilder完成字符串反转案例
- 【应用】能够利用StringBuilder完成判断一个字符串是否是对称字符串案例
收获:
一:构造方法与赋值方法区别
通过构造方法创建字符串对象是在堆内存。
直接赋值方式创建对象是在方法区的常量池。
二:String各类功能
String类的判断功能
- boolean equals(Object obj):比较字符串的内容是否相同
- boolean equalsIgnoreCase(String str):比较字符串的内容是否相同,忽略大小写
- boolean startsWith(String str):判断字符串对象是否以指定的str开头
- boolean endsWith(String str):判断字符串对象是否以指定的str结尾
String类的获取功能
- int length():获取字符串的长度,其实也就是字符个数
- char charAt(int index):获取指定索引处的字符
- int indexOf(String str):获取str在字符串对象中第一次出现的索引
- String substring(int start):从start开始截取字符串
- String substring(int start,int end):从start开始,到end结束截取字符串。包括start,不包括end
String类的转换功能
- char[] toCharArray():把字符串转换为字符数组
- String toLowerCase():把字符串转换为小写字符串
- String toUpperCase():把字符串转换为大写字符串
String类的其它功能
- 去除字符串两端空格 String trim()
- 按照指定符号分割字符串 String[] split(String str)
三:字符串与数组相互转换
1字符串转换成数组
package com.itheima_05;
public class StringDemo {
public static void main(String[] args) {
String s = "abcde";
//char[] toCharArray():把字符串转换为字符数组
char[] chs = s.toCharArray();
for(int x=0; x<chs.length; x++) {
System.out.println(chs[x]);
}
System.out.println("-----------");
}
}
2把数组中的数据按照指定格式拼接成一个字符串
package com.itheima_07;
public class StringTest {
public static void main(String[] args) {
int[] arr = {1,2,3};
String s = arrayToString(arr);
System.out.println("s:"+s);
}
public static String arrayToString(int[] arr) {
String s = "";
//[1, 2, 3]
s += "[";
for(int x=0; x<arr.length; x++) {
if(x==arr.length-1) {
s += arr[x];
}else {
s += arr[x];
s += ", ";
}
}
s += "]";
return s;
}
}
四:StringBuilder介绍
1StringBuilder:是一个可变的字符串。字符串缓冲区类。
2String和StringBuilder的区别: String的内容是固定的,StringBuilder的内容是可变的
3StringBuilder类的常用方法
A:构造方法:
StringBuilder()
B:成员方法:
public int capacity():返回当前容量 (理论值)
public int length():返回长度(已经存储的字符个数)
public StringBuilder append(任意类型):添加数据,并返回自身对象
public StringBuilder reverse():反转功能
五:利用StringBuilder把数组拼接成一个字符串
package com.itheima_03;
public class StringBuilderTest2 {
public static void main(String[] args) {
int[] arr = {1,2,3};
String s = arrayToString(arr);
System.out.println("s:"+s);
}
public static String arrayToString(int[] arr) {
StringBuilder sb = new StringBuilder();
sb.append("[");
for(int x=0; x<arr.length; x++) {
if(x==arr.length-1) {
sb.append(arr[x]);
}else {
sb.append(arr[x]).append(", ");
}
}
sb.append("]");
String result = sb.toString();
return result;
}
}
六:判断一个字符串是否是对称字符串
package com.itheima_03;
import java.util.Scanner;
public class StringBuilderTest4 {
public static void main(String[] args) {
//键盘录入一个字符串
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个字符串:");
String s = sc.nextLine();
boolean b = isSymmetry(s);
System.out.println("b:"+b);
}
public static boolean isSymmetry(String s) {
//把字符串反转,和反转前的字符串进行比较,如果内容相同,就说明是对称字符串
StringBuilder sb = new StringBuilder(s);
sb.reverse();
String result = sb.toString();
return result.equals(s);
}
}