广州番禺Python, Java小班周末班培训
第四期线下Java, Python小班周末班已经开课了,培训的课程有Python爬虫,Python后端开发,Python办公自动化,Python大数据分析, Java中高级工程师培训。授课详情请点击:https://chipscoco.com/?cate=6
9.2.1 字符串常用操作方法
字符串类型是一种抽象数据类型,抽象数据类型定义了数据类型的操作方法,在本节的内容中,着重介绍Java字符串类的常用操作方法。
9.2.2 获取字符串长度
(1) String.length()
函数说明:
返回字符串的长度,这里的长度指的是字符数。
代码实例:
public class HelloJava{
public static void main(String[] args) {
String content = "好好学Java,天天向上";
// 字符串对象的length方法返回值为整型,表示字符串的字符数
int length = content.length();
System.out.println(length);
}
}9.2.3 字符串的索引访问
(1) String.charAt(int index)
函数说明:
返回主串在index位置的单个字符。
这里的索引值同数组中的索引值,Java中的索引值从0开始进行编号。
代码实例:
public class HelloJava{
public static void main(String[] args) {
String content = "好好学Java,天天向上。问题来了,你为什么要学Java?";
int start = 0, end = content.length()-1;
// 访问主串中的第一个字符
System.out.println(content.charAt(start));
// 访问主串中的最后一个字符
System.out.println(content.charAt(end));
}9.2.4 字符串的大小写转换
(1) String.toLowerCase()
函数说明:
将字符串中的拉丁字母全部转换为小写,返回一个转换为小写后的新字符串
代码实例:
public class HelloJava{
public static void main(String[] args) {
String content = "你为什么要学Java";
String content_lower = content.toLowerCase();
System.out.println(content_lower);
}
}(2) String.toUpperCase()
函数说明:
将字符串中的拉丁字母全部转换为大写,返回一个转换为大写后的新字符串
代码实例:
public class HelloJava{
public static void main(String[] args) {
String content = "你为什么要学Java";
String content_upper = content.toUpperCase();
System.out.println(content_upper);
}
}9.2.5 字符串的子串查找
(1) String.indexOf(String str)
函数说明:
返回子串str在主串中的索引位置,索引位置为整型。如果子串不存在,则返回-1。
代码实例:
public class HelloJava{
public static void main(String[] args) {
String content = "你为什么要学Java";
// indexOf方法的返回值为整型,表示子串在主串中的起始位置
int pos = content.indexOf("Java");
System.out.println(pos);
}
}(2) String.indexOf(String str,int fromIndex)
函数说明:
参数str表示子串,fromIndex在主串中查找的起始位置。函数返回子串str在主串的起始位置,如果子串不存在,则返回-1。
代码实例-统计子串的个数:
public class HelloJava{
public static void main(String[] args) {
String content = "好好学Java,天天向上。问题来了,你为什么要学Java?";
int count = 0;
String sub = "Java";
int index = content.indexOf(sub);
while ( index != -1 ){
// 如果index不等于-1,说明找到子串
count += 1;
// 从主串中的子串的尾部位置继续查找
index = content.indexOf(sub, index+sub.length());
}
System.out.println(count);
}9.2.6 字符串的子串截取
(1) String.substring(int beginIndex)
函数说明:
截取从beginIndex位置到字符串末尾的所有字符,返回一个新的字符串。
代码实例:
public class HelloJava{
public static void main(String[] args) {
String content = "好好学Java,天天向上。问题来了,你为什么要学Java?";
String sub = "Java";
int startIndex = content.indexOf(sub);
if ( startIndex != -1){
// 如果Java在主串中,则截取从Java起始位置到主串末尾的所有字符
System.out.println(content.substring(startIndex));
}
}
}现在通过字符串的find方法,切片操作,以及while循环结构来实现count方法的功能。
(2) String.substring(int beginIndex, int endIndex)
函数说明:
截取从beginIndex位置到endIndex之间的所有字符,返回一个新的字符串。beginIndex与endIndex构造的是一个左闭右开的区间。
代码实例:
public class HelloJava{
public static void main(String[] args) {
String content = "好好学Java,天天向上。问题来了,你为什么要学Java?";
String sub = "Java";
int startIndex = content.indexOf(sub);
if ( startIndex != -1){
int endIndex = content.indexOf(sub, startIndex+sub.length());
if (endIndex != -1) {
// 截取主串中的第一个Java的起始位置到第二个Java的起始位置之间的所有字符
System.out.println(content.substring(startIndex, endIndex));
}
}
}
}9.2.7 字符串的子串替换
(1) String.replace(String target, String replacement)
函数说明:
参数target表示待替换的目标字符串,replacement表示替换后的字符串。该函数返回一个新的字符串。
代码实例:
现在通过字符串的find方法,切片操作以及while循环结构来实现replace方法的功能。
public class HelloJava{
public static void main(String[] args) {
String content = "好好学Java,天天向上。问题来了,你为什么要学Java?";
// 将主串中的Java替换为C++
String new_content = content.replace("Java", "C++");
System.out.println(new_content);
}
}9.2.8 字符串的拆分函数
(1) String.split(String regex, int limit)
函数说明:
参数regex表示分割字符串或正则表达式, 参数limit用来指定分割的最大条目,可不传。该函数返回由regex分割的字符串数组,当指定limit参数时,函数返回一个包含limit项的字符串数组。
代码实例:
import java.util.Arrays;
public class HelloJava{
public static void main(String[] args) {
String content = "好好学Java,天天向上。问题来了,你为什么要学Java?";
// 将主串中的Java替换为C++
String[] substrings = content.split(",");
System.out.println(Arrays.toString(substrings));
}
}9.2.9 字符串的前缀与后缀
(1) String.startsWith(String prefix) 判断字符串是否以prefix子串作为前缀,返回值为布尔类型
(2) String.endsWith(String suffix) 判断字符串是否以suffix子串作为后缀,返回值为布尔类型
代码实例-修改前缀与后缀:
public class HelloJava{
public static void main(String[] args) {
String query = "Java该怎么学?";
String prefix = "Java", suffix = "怎么学?";
// 如果以prefix为前缀
if (query.startsWith(prefix)){
// 就将前缀修改为C++
query = "C++"+query.substring(4);
}
// 如果以suffix为后缀
if (query.endsWith(suffix)) {
// 就将后缀修改为这样学!
query = query.substring(0, query.length()-suffix.length())+"这样学!";
}
System.out.println(query);
}9.2.10 字符串的比较
(1) String.equals(Object anObject)
函数说明:
参数anObject表示待比较的对象,函数的返回值为布尔类型,返回true时表示相等,返回false时表示不相等。在进行比较时,首先判断引用的是否为同一个对象,如果引用的是同一个对象,则直接返回true。如果不为同一个对象,则逐字符进行比较。
代码实例:
public class HelloJava{
public static void main(String[] args) {
String left = "Java该怎么学?";
// 通过直接定义法来定义字符串时,Java会直接引用已存在的字符串
String right = "Java该怎么学?";
// 通过new操作符来构造一个新的字符串对象
String right_ = new String(right);
// ==操作符是判断对象的地址是否相等,如果相等说明引用的是同一个对象
if (left == right){
System.out.println("left与right引用的是同一个字符串");
}
// equals会先判断地址是否相等,如果不相等再逐字符进行比较
if (left.equals(right_)) {
System.out.println("left与right_中的字符顺序一致且相等");
}
}
}9.2.11 高薪就业班
(1) Python后端工程师高薪就业班,月薪10K-15K,免费领取课程大纲
(2) Python爬虫工程师高薪就业班,年薪十五万,免费领取课程大纲
(3) Java后端开发工程师高薪就业班,月薪10K-20K, 免费领取课程大纲
(4) Python大数据工程师就业班,月薪12K-25K,免费领取课程大纲
扫码免费领取学习资料:


