广州番禺Python, Java小班周末班培训
第四期线下Java, Python小班周末班已经开课了,培训的课程有Python爬虫,Python后端开发,Python办公自动化,Python大数据分析, Java中高级工程师培训。授课详情请点击:http://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,免费领取课程大纲
扫码免费领取学习资料: