当前位置: 首页 > news >正文

寿光网站制作/西安网站关键词推广

寿光网站制作,西安网站关键词推广,网络推广方案p,网站ie兼容性Java String 类常用方法详解 在 Java 编程里,字符串操作十分常见,而 String 类作为 Java 标准库的核心类,用于表示不可变的字符序列。任何对字符串的修改操作都会返回一个新的字符串对象,不会改变原始字符串。本文将详细介绍 Str…

Java String 类常用方法详解

在 Java 编程里,字符串操作十分常见,而 String 类作为 Java 标准库的核心类,用于表示不可变的字符序列。任何对字符串的修改操作都会返回一个新的字符串对象,不会改变原始字符串。本文将详细介绍 String 类的常用方法,并结合示例代码帮助理解。

一、String 对象的创建

String 对象的创建主要有以下两种方式:

1. 直接赋值

这是最常见的创建字符串的方式,使用双引号将一系列字符括起来即可:

String str1 = "Hello, ";

2. 使用 new 关键字

通过对象实例化的方式,将需要创建的字符串作为构造参数传入:

String str2 = new String("Hello, Java");

若调用 String 类的无参构造方法,则会创建一个空字符串,不过这种方式很少使用:

String str3 = new String();

二、获取字符串长度

可以使用 length() 方法来获取字符串的长度,示例代码如下:

public class StringMethod1 {public static void main(String[] args) {String str = "hello world!";int length = str.length();System.out.println("str的长度为:" + length);}
}

运行结果:

str的长度为:12

需要注意的是,字符串中的空格也算一个字符。

三、字符串查找

1. 获取指定位置字符

使用 char charAt(int index) 方法可以获取字符串指定位置的字符,索引下标从 0 开始。示例如下:

public class StringMethod2 {public static void main(String[] args) {String str = "I love Java";char c = str.charAt(7);System.out.println("索引位置为7的字符为:" + c);}
}

运行结果:

索引位置为7的字符为:J

2. 查找字符串位置

  • indexOf():获取字符或子串在字符串中第一次出现的位置。
  • lastIndexOf():获取字符或子串在字符串中最后一次出现的位置。

示例代码如下:

public class StringMethod2 {public static void main(String[] args) {String str = "I love Java, I love imooc!";// 获取字符在字符串中第一次出现的位置int i1 = str.indexOf('a');System.out.println("字符a在字符串str第一次出现的位置为:" + i1);// 获取子串在字符串中第一次出现的位置int i2 = str.indexOf("love");System.out.println("子串love在字符串str第一次出现的位置为:" + i2);// 获取字符在字符串中最后一次出现的位置int i3 = str.lastIndexOf('e');System.out.println("字符e在字符串str最后一次出现的位置为:" + i3);// 获取子串在字符串中最后一次出现的位置int i4 = str.lastIndexOf("I love");System.out.println("子串I love在字符串str最后一次出现的位置为:" + i4);// 查找不存在的字符int i5 = str.indexOf('E');System.out.println("查找不存在的字符E的结果为:" + i5);}
}

运行结果:

字符a在字符串str第一次出现的位置为:8
子串love在字符串str第一次出现的位置为:2
字符e在字符串str最后一次出现的位置为:18
子串I love在字符串str最后一次出现的位置为:13
查找不存在的字符E的结果为:-1

需要注意的是,以上方法的参数都是区分大小写的,如果没有找到指定的字符或子串,会返回 -1。

四、字符串截取

可以使用 substring() 方法来获取子串,String 类中有两个重载的实例方法:

  • String substring(int beginIndex):获取从 beginIndex 位置开始到结束的子串。
  • String substring(int beginIndex, int endIndex):获取从 beginIndex 位置开始到 endIndex 位置的子串(不包含 endIndex 位置字符)。

示例代码如下:

public class StringMethod3 {public static void main(String[] args) {String str = "I love Java";String substring1 = str.substring(2);String substring2 = str.substring(2, 6);System.out.println("从索引位置2到结束的子串为:" + substring1);System.out.println("从索引位置2到索引位置6的子串为:" + substring2);}
}

运行结果:

从索引位置2到结束的子串为:love Java
从索引位置2到索引位置6的子串为:love

五、字符串切割

1. 切割为子串数组

使用 String[] split(String regex) 方法可将字符串切割为子串,其参数 regex 是一个正则表达式分隔符,返回字符串数组。示例如下:

public class StringMethod4 {public static void main(String[] args) {String str1 = "I love Java";String[] strArr = str1.split(" ");for (String str : strArr) {System.out.print(str + "\t");}}
}

运行结果:

I	love	Java

对于一些特殊的分隔符,如 *^:|. 等,需要使用转义字符转义。例如:

// 以 * 切割
String str2 = "I*love*Java";
String[] strArr2 = str2.split("\\*");// 以 \ 切割
String str3 = "I\\love\\Java";
String[] strArr3 = str3.split("\\\\");// 以 | 切割
String str4 = "I|love|Java";
String[] strArr4 = str4.split("\\|");

另外,还有一个重载方法 String[] split(String regex, int limit),其第二个参数 limit 用以控制正则匹配被应用的次数,会影响结果的长度。

2. 切割为 byte 数组

在实际工作中,网络上的数据传输通常使用二进制字节数据,因此字符串和字节数组之间的相互转换很常用。可以使用 getBytes() 方法将字符串转换为 byte 数组,示例如下:

public class StringMethod4 {public static void main(String[] args) {String str2 = "我喜欢Java";System.out.println("将字符串转换为byte数组:");byte[] ascii = str2.getBytes();for (byte aByte : ascii) {System.out.print(aByte + "\t");}// 将字节数组转换为字符串String s = new String(ascii);System.out.println("\n将字节数组转换为字符串:" + s);}
}

六、字符串大小写转换

字符串的大小写转换有两个方法:

  • toLowerCase():将字符串转换为小写。
  • toUpperCase():将字符串转换为大写。

示例代码如下:

public class StringMethod5 {public static void main(String[] args) {String str = "HELLO world";String s1 = str.toLowerCase();System.out.println("字符串str转换为小写后为:" + s1);String s2 = s1.toUpperCase();System.out.println("字符串s1转换为大写后为:" + s2);// 实现大小写互换String[] strArr = str.split(" ");String result = strArr[0].toLowerCase() + " " + strArr[1].toUpperCase();System.out.println("字符串str的大小写互换后为:" + result);}
}

运行结果:

字符串str转换为小写后为:hello world
字符串s1转换为大写后为:HELLO WORLD
字符串str的大小写互换后为:hello WORLD

七、字符串比较

String 类提供了 boolean equals(Object object) 方法来比较字符串内容是否相同,返回一个布尔类型的结果。需要特别注意的是,在比较字符串内容是否相同时,必须使用 equals() 方法而不能使用 == 运算符。示例代码如下:

public class StringMethod6 {public static void main(String[] args) {String str1 = "hello";String str2 = "hello";String str3 = new String("hello");System.out.println("使用equals()方法比较str1和str2的结果为:" + str1.equals(str2));System.out.println("使用==运算符比较str1和str2的结果为:" + (str1 == str2));System.out.println("使用equals()方法比较str1和str3的结果为:" + str1.equals(str3));System.out.println("使用==运算符比较str1和str3的结果为:" + (str1 == str3));}
}

运行结果:

使用equals()方法比较str1和str2的结果为:true
使用==运算符比较str1和str2的结果为:true
使用equals()方法比较str1和str3的结果为:true
使用==运算符比较str1和str3的结果为:false

== 运算符比较的是两个变量的地址而不是内容。当使用直接赋值的方式创建字符串时,相同内容的字符串会指向常量池中的同一个对象;而使用 new 关键字创建字符串对象时,会在堆空间实例化一个新的对象。

八、小结

本文介绍了 Java String 类的常用方法:

  • 使用 length() 方法可以获取字符串长度。
  • 使用 charAt()indexOf() 以及 lastIndexOf() 方法可以对字符串进行查找。
  • substring() 方法可以对字符串进行截取,split()getBytes() 方法可以将字符串切割为数组。
  • toLowerCase()toUpperCase() 方法分别用于大小写转换,使用 equals() 方法对字符串进行比较,要注意对字符串内容进行比较时,不要使用 == 运算符。

这些方法大多有重载方法,实际工作中,要根据合适的场景选用对应的重载方法。此外,String 类还有很多未介绍到的方法,使用时可以翻阅官网文档进行学习。

http://www.whsansanxincailiao.cn/news/31980738.html

相关文章:

  • 做阿里巴巴还是做网站好/百度一下官网首页百度一下
  • 域名备案网站首页url/黑帽seo技巧
  • 哪个网站专做水果批发/seo常用方法
  • 做网站的图片/建立免费个人网站
  • 左右左布局网站建设/怎么把平台推广出去
  • 营销型网站建设的五力原则包括/seo搜索引擎优化人员
  • 国外设计网站欣赏/seo教程有什么
  • 网页制作第一步/seo建站收费地震
  • 做网站做什么主题/一站式营销推广
  • 做网站有钱/2021十大网络舆情案例
  • 企业网站cms系统/武汉疫情最新情况
  • 上海市住房城乡建设管理委官方网站/个人网站
  • 做百度网站需不需要备案吗/2021小说排行榜百度风云榜
  • 哈尔滨网站制作招聘/最新提升关键词排名软件
  • wordpress全站cdn教程/搜索引擎是软件还是网站
  • 做网站用angular/seo项目分析
  • 西安网站建设推广服务/网站排名优化
  • 社交型网站开发/百度风云榜各年度小说排行榜
  • 免费流程图制作网站/脚上起小水泡还很痒是怎么回事
  • web网页设计教程/上海seo网站排名优化公司
  • 四川大学毕业设计网站/北京百度快照推广公司
  • 做彩网站有哪些/长沙百度网站推广公司
  • 网站怎么做熊掌号/域名注册网站查询
  • 武汉建设学院网站/郑州seo排名工具
  • 大型外贸商城网站建设/软文模板app
  • 淘客软件自动做网站/网站免费网站免费优化优化
  • 钱宝做任务的网站怎么下/潍坊网站关键词推广
  • 淄博网站制作多样定制/广州网络营销选择
  • 中山手机网站建设哪家好/廊坊自动seo
  • 广告设计策划/做seo有什么好处