Java中的字符串

  Java语言中,把字符串作为对象来处理,类String就可以用来表示字符串(类名首字母都是大写的)。

1.字符串常量

字符串常量是用双引号括住的一串字符。

例如:"Hello World"

2.String表示字符串变量

String用来可以创建字符串对象,String使用示例:

1 String s=new String() ;   //生成一个空串 
2 String s1="Hello World"; //声明s1为字符串"Hello World"的引用

3. 字符串 判断相等的方法String.equals()

在Java中判等是有讲究的,往往直接使用==得出的答案可能是正确的也可能是错误的,看这段示例:

1  String s1="a";
2  String s2="a";
3  s1+="b";
4  System.out.println(s1=="ab");         // false
5  System.out.println(s1==s2+"b");     // false
6  System.out.println(s2=="a");           // true
7  System.out.println(s1.equals("ab")); // true8  System.put.println(new String("ab")==new String("ab"));  // false

   看了这段代码,你可能会明白了。==判断不仅判断内存地址中的内容是不是相等,还要判断引用的地址是不是相等;而equals()方法则是用来判断内容相等的,这下明白了吧?

  还有以下几点需要注意的地方:

  • 在Java中,内容相同的字串常量(“a”)只保存一份以节约内存,所以s1,s2实际上引用的是同一个对象。
  • 编译器在编译s1一句时,会去掉“+”号,直接把两个字串连接起来得一个字串(“ab”)。这种优化工作由Java编译器自动完成。
  • 当直接使用new关键字创建字符串对象时,虽然值一致(都是“ab”),但仍然是两个独立的对象。

4、访问字符串

      类String中提供了length( )、charAt( )、indexOf( )、lastIndexOf( )、getChars( )、getBytes( )、toCharArray( )等方法。

  1. public int length() 此方法返回字符串的字符个数     
  2. public char charAt(int index) 此方法返回字符串中index位置上的字符,其中index 值的 范围是0~length-1     
  3. public int indexOf(int ch)     
  4. public lastIndexOf(in ch)  

返回字符ch在字符串中出现的第一个和最后一个的位置

  1. public int indexOf(String str)   
  2. public int lastIndexOf(String str)  

返回子串str中第一个字符在字符串中出现的第一个和最后一个的位置

  1. public int indexOf(int ch,int fromIndex)   
  2. public lastIndexOf(in ch ,int fromIndex)  

返回字符ch在字符串中位置fromIndex以后出现的第一个和最后一个的位置

  1. public int indexOf(String str,int fromIndex)   
  2. public int lastIndexOf(String str,int fromIndex)  

返回子串str中的第一个字符在字符串中位置fromIndex后出现的第一个和最后一个的位置。

  1. public void getchars(int srcbegin,int end ,char buf[],int dstbegin)  

srcbegin 为要提取的第一个字符在源串中的位置, end为要提取的最后一个字符在源串中的位置,字符数组buf[]存放目的字符串,dstbegin 为提取的字符串在目的串中的起始位置。

  1. public void getBytes(int srcBegin, int srcEnd,byte[] dst, int dstBegin)  

参数及用法同上,只是串中的字符均用8位表示。

5、修改字符串

修改字符串的目的是为了得到新的字符串,有关各个方法的使用,参考java API。

String类提供的方法:

  • concat( )
  • replace( )
  • substring( )
  • toLowerCase( )
  • toUpperCase( )

  1. public String contat(String str);  

用来将当前字符串对象与给定字符串str连接起来。

  1. public String replace(char oldChar,char newChar);  

用来把串中出现的所有特定字符替换成指定字符以生成新串。

  1. public String substring(int beginIndex);   
  2. public String substring(int beginIndex,int endIndex);  

用来得到字符串中指定范围内的子串。

  1. public String toLowerCase();  

把串中所有的字符变成小写。

  1. public String toUpperCase();  

把串中所有的字符变成大写。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏阿凯的Excel

Python读书笔记16(循环大法好!while少不了)

今天和大家分享一个新的循环语句while! 之前学过for循环语句用于遍历列表、元组、字典内的值,我们重温一下! ? 这种for循环语句是根据列表元素值的数量来...

3585
来自专栏闵开慧

PHP中echo(),print(),print_r()的区别

四种方法可以输出字符串。 echo print() printf() print_r() echo 可以一次输出多个值,多个值之间用逗号分隔。echo是...

3397
来自专栏跟着阿笨一起玩NET

C# 正则表达式

正则表达式到底是什么东西? 在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达...

371
来自专栏haifeiWu与他朋友们的专栏

System方法总结

最近在研究Android源码,突然看到有很多和System有关,什么System.arraycopy、System.nanoTime(),所以专门花时间看了一下...

602
来自专栏雪胖纸的玩蛇日常

老男孩Python全栈开发(92天全)视频教程 自学笔记14

1372
来自专栏塔奇克马敲代码

第 16 章 模板与泛型编程

1416
来自专栏编程

从零开始学正则

问题:我怎么才能收到你们公众号平台的推送文章呢? 正则规范 正则表达式的英文是regular expression简称regex。正则表达式就是用事先定义好的一...

1738
来自专栏老马说编程

(29) 剖析String / 计算机程序的思维逻辑

上节介绍了单个字符的封装类Character,本节介绍字符串类。字符串操作大概是计算机程序中最常见的操作了,Java中表示字符串的类是String,本节就来详细...

1805
来自专栏塔奇克马敲代码

第 16 章 模板与泛型编程

1122
来自专栏GreenLeaves

C#核编之内建数据类型

这个随笔中的重点之一是说明:C#中所提供的关键字都是相应系统类型的简化符号(如int是System.Int32类型的简化符号) 一、内建数据类型与层级结构 所有...

2146

扫码关注云+社区