##String常用方法简介 ###创建String对象的方法: ```java String s1="imooc"; ``` 等同于 ```java String s3=new String("imooc"); ``` 都是创建了一个字符串对象imooc   ###String常用方法(上) 1.求字符串长度: ```java str.length(); ``` 2. 取出位置在6的字符;字符串中的字符从0开始数,也就是第7个字符 ```java str.charAt(6); ``` 3. 取出子串,即字符串位置5及位置5以后的字符串 ```java str.substring(5); ``` 4. 取出子串,即字符串位置5(包括位置5)及位置7之前的字符串(不包括位置7) ```java str.substring(5,7) ```  ###String常用方法(下) 1. 查找字符'A'在字符串中第一次出现的位置 ```java str.indexOf('A'); ``` 2. 查找子串“编程”在字符串中第一次出现的位置 ```java str.indexOf("编程"); ``` 3. 字符'A'在字符串中最后一次出现的位置 ```java str.lastIndexOf('A'); ``` 4. 查找子串“编程”在字符串中最后一次出现的位置(其实是“编”最后一次出现的位置) ```java str.lastIndexOf("编程"); ``` 5. 在字符串index值为8的位置开始,查找子串“编程”第一次出现的位置是16 ```java str.indexOf("编程",8) ```  ###编程练习1 使用String类常用方法完成字符串处理。 任务 1、 定义一个字符串"abcdefg" 2、 取出子串cde并转换为大写 3、 将DE替换为MM 4、 最后得到结果CMM ```java package me.feihong.string; public class StringOne { public static void main(String[] args) { // TODO Auto-generated method stub String str=new String("abcdefg"); String str1=str.substring(2, 5); String str2=str1.toUpperCase(); String str3=str2.replace("DE", "MM"); System.out.println(str3); } } ``` ###字符串与byte数组间的相互转换 字符串与byte数组之间的相互转换-----用的是utf-8编码 那么将相应的byte数组转换为字符串时---它所用的编码也应该为utf-8,要保持编码的一致  ### 等于运算符与equals方法的区别 ```java str1.euqals(str2) //指的是str1与str2的内容是否相同( (str1==str2)//指的是str1与str2的地址是否相同 ``` 常量池与堆  ### 字符串的不可变性 不可变性:String对象一旦被创建不能更改,是不可变得 通过“=”改变的只是引用位置,对象的值还是未改变的 通过方法得出的子串,新的字符....都是存放在常量池中,而并不是覆盖了对象的值  ### StringBuilder概述 String和StringBuilder的区别 1.建议:当频繁操作字符串时,使用StringBuilder 2. StringBuilder和StringBuffer 二者基本相似 StringBuffer是线程安全的,StringBuilder则没有,所以性能略高  ### StringBuilder常用方法 StringBuider 1.不具备不可变性,当频繁操作字符串时,使用StringBuider 2.StringBuilder(性能略高)和StringBuffer(线程安全)二者基本相似 3.StringBuilder str=new StringBuilder("你好"); System.out.println("str="+str.append(',').append(“imooc!”)); 4.使用str.delete()方法删除,然后使用str.insert()方法插入 5.使用replace方法直接替换 : str.replace(4,8,"MOOC");  ### 编程练习2 定义一个字符串,利用StringBuilder完成如下效果。 效果图:  任务 1. 定义一个字符串”欢迎来到“ 2. 在"欢迎来到"后面添加内容,将字符串变成"欢迎来到imooc" 3. 使用delete方法删除"欢迎来到",然后插入“你好!” 4. 将字符串变成“你好,imooc” 5. 使用replace方法替换 ```java package me.feihong.string; public class StringBuilderDemo { public static void main(String[] args) { //定义一个字符串"欢迎来到" StringBuilder str=new StringBuilder("欢迎来到"); //在"欢迎来到"后面添加内容,将字符串变成"欢迎来到imooc" System.out.println(str.insert(4, "imooc")); //使用delete方法删除"欢迎来到",然后插入“你好!” System.out.println("删除插入后:"+str.delete(0, 4).insert(0, "你好,")); //将字符串变成“你好,imooc” System.out.println("替换后:"+str.replace(0, 3, "欢迎来到")); //使用replace方法替换 } } ``` ### 编程练习3 定义一个字符串,使用StringBuilder的常用方法对字符串进行操作。 任务 1、 定义字符串"abc" 2、 使之经过处理得到字符串"fed---cba",并进一步得到字符串"fedcba" ```java package me.feihong.string; public class StringBuilderDemo { public static void main(String[] args) { //定义字符串"abc" StringBuilder str=new StringBuilder("abc"); //经过处理得到字符串"fed---cba" System.out.println(str.append("def").reverse().insert(3, "---")); //进一步变换得到字符串"fedcba" System.out.println(str.delete(3, 6)); } } ``` Loading... ##String常用方法简介 ###创建String对象的方法: ```java String s1="imooc"; ``` 等同于 ```java String s3=new String("imooc"); ``` 都是创建了一个字符串对象imooc   ###String常用方法(上) 1.求字符串长度: ```java str.length(); ``` 2. 取出位置在6的字符;字符串中的字符从0开始数,也就是第7个字符 ```java str.charAt(6); ``` 3. 取出子串,即字符串位置5及位置5以后的字符串 ```java str.substring(5); ``` 4. 取出子串,即字符串位置5(包括位置5)及位置7之前的字符串(不包括位置7) ```java str.substring(5,7) ```  ###String常用方法(下) 1. 查找字符'A'在字符串中第一次出现的位置 ```java str.indexOf('A'); ``` 2. 查找子串“编程”在字符串中第一次出现的位置 ```java str.indexOf("编程"); ``` 3. 字符'A'在字符串中最后一次出现的位置 ```java str.lastIndexOf('A'); ``` 4. 查找子串“编程”在字符串中最后一次出现的位置(其实是“编”最后一次出现的位置) ```java str.lastIndexOf("编程"); ``` 5. 在字符串index值为8的位置开始,查找子串“编程”第一次出现的位置是16 ```java str.indexOf("编程",8) ```  ###编程练习1 使用String类常用方法完成字符串处理。 任务 1、 定义一个字符串"abcdefg" 2、 取出子串cde并转换为大写 3、 将DE替换为MM 4、 最后得到结果CMM ```java package me.feihong.string; public class StringOne { public static void main(String[] args) { // TODO Auto-generated method stub String str=new String("abcdefg"); String str1=str.substring(2, 5); String str2=str1.toUpperCase(); String str3=str2.replace("DE", "MM"); System.out.println(str3); } } ``` ###字符串与byte数组间的相互转换 字符串与byte数组之间的相互转换-----用的是utf-8编码 那么将相应的byte数组转换为字符串时---它所用的编码也应该为utf-8,要保持编码的一致  ### 等于运算符与equals方法的区别 ```java str1.euqals(str2) //指的是str1与str2的内容是否相同( (str1==str2)//指的是str1与str2的地址是否相同 ``` 常量池与堆  ### 字符串的不可变性 不可变性:String对象一旦被创建不能更改,是不可变得 通过“=”改变的只是引用位置,对象的值还是未改变的 通过方法得出的子串,新的字符....都是存放在常量池中,而并不是覆盖了对象的值  ### StringBuilder概述 String和StringBuilder的区别 1.建议:当频繁操作字符串时,使用StringBuilder 2. StringBuilder和StringBuffer 二者基本相似 StringBuffer是线程安全的,StringBuilder则没有,所以性能略高  ### StringBuilder常用方法 StringBuider 1.不具备不可变性,当频繁操作字符串时,使用StringBuider 2.StringBuilder(性能略高)和StringBuffer(线程安全)二者基本相似 3.StringBuilder str=new StringBuilder("你好"); System.out.println("str="+str.append(',').append(“imooc!”)); 4.使用str.delete()方法删除,然后使用str.insert()方法插入 5.使用replace方法直接替换 : str.replace(4,8,"MOOC");  ### 编程练习2 定义一个字符串,利用StringBuilder完成如下效果。 效果图:  任务 1. 定义一个字符串”欢迎来到“ 2. 在"欢迎来到"后面添加内容,将字符串变成"欢迎来到imooc" 3. 使用delete方法删除"欢迎来到",然后插入“你好!” 4. 将字符串变成“你好,imooc” 5. 使用replace方法替换 ```java package me.feihong.string; public class StringBuilderDemo { public static void main(String[] args) { //定义一个字符串"欢迎来到" StringBuilder str=new StringBuilder("欢迎来到"); //在"欢迎来到"后面添加内容,将字符串变成"欢迎来到imooc" System.out.println(str.insert(4, "imooc")); //使用delete方法删除"欢迎来到",然后插入“你好!” System.out.println("删除插入后:"+str.delete(0, 4).insert(0, "你好,")); //将字符串变成“你好,imooc” System.out.println("替换后:"+str.replace(0, 3, "欢迎来到")); //使用replace方法替换 } } ``` ### 编程练习3 定义一个字符串,使用StringBuilder的常用方法对字符串进行操作。 任务 1、 定义字符串"abc" 2、 使之经过处理得到字符串"fed---cba",并进一步得到字符串"fedcba" ```java package me.feihong.string; public class StringBuilderDemo { public static void main(String[] args) { //定义字符串"abc" StringBuilder str=new StringBuilder("abc"); //经过处理得到字符串"fed---cba" System.out.println(str.append("def").reverse().insert(3, "---")); //进一步变换得到字符串"fedcba" System.out.println(str.delete(3, 6)); } } ``` 最后修改:2019 年 12 月 31 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏