字符串

原创 2012年03月26日 07:35:28

不敢说,字符串是java程序中用的最多的对象,但是肯定的一点是,字符串是用的很多的那种,如果字符串用的不好,足以影响你代码执行的效率,来说说字符串

    写过c代码的人,都知道字符串在本质上是字符(char)类型的数组,但是在java中字符串不仅仅是一个字符数组,还是一个String类的实例对象,常见的字符串的定义有两种,一种是直接指向字符串的

  比如:String  str = “hello world”

  一种是采用最常见的对象建立的方式来定义,比如Strig str = new String(“hello world”);

  在java中可以通过“+”来进行字符串串联,比如String Str=“hello”+“world”;“+”本来是一个加法运算符,但是在这里它被重写了,作为连接符;

  刚才说过,字符串是以String的一个实例存在的,所以每个字符串对象本身就拥有几个可以操作的方法

Java代码 复制代码
  1. length()获得字符串的字符长度,注意在这里是方法名称,而不是属性length 
  2. equals()比较两个对象的内容 
  3. toLowerCase()字符串改为小写 
  4. toUpperCase()字符串改为大写 

来看代码

Java代码 复制代码
  1. public  class StrDemo1{ 
  2.   public static void main(String[] args){ 
  3.     String str = "hello world"
  4.     System.out.println("转换为小写"+str.toLowerCase()); 
  5.     System.out.println("转换为大写"+str.toUpperCase()); 
  6.     System.out.println("字符串的长度"+str.length()); 
  7.      
  8.   } 
  9.  

  运行结果如图1-2所示

 
   

                             图1-2 StrDemo1编译运行的结果

  代码很简单,没什么要说的,看看就好

   当然字符串和基本数据类型之间是可以相互转换的,这个比较多而且很常见的,用的时候百度就好,没啥技术含量

   由于字符串在本质上是一个字符数组,所以,它本身也有字符数组的特性

   取得字符串上的字符的的方法

Java代码 复制代码
  1. char charAt(int index);取得指定索引出的字符; 
  2. int indexOf(char c);返回c第一个出现的位置的索引值 
  3. int  indexOf(String str);返回第一个出现字符串str的索引 
  4. int lastIndexOf(char c);返回最后一个c出现的位置索引 
  5. String substring(int beginIndex);返回从指定索引到结束的字符串 
  6. String subString(int beginIndex,int endIndex);返回从指定开始索引到结束索引的字符串 
  7. char[] toCharArray();将字符串转换为字符数组 
  8. boolean endWith(String str);判断字符串是否是已指定的字符串结尾的 

    来看一段代码

Java代码 复制代码
  1. public class StrDemo2{ 
  2.    public static void main(String[] args){ 
  3.        String str = "hello"
  4.        System.out.println("逐一取得每个索引上是字符"); 
  5.        for(int i=0;i<str.length();i++){ 
  6.           System.out.println(str.charAt(i)); 
  7.        } 
  8.        System.out.println("最后一个l的位置"+str.lastIndexOf("l")); 
  9.        System.out.println("第一个l的位置"+str.indexOf("l")); 
  10.         System.out.println("将字符串转换为字符数组"); 
  11.         char[] arr = str.toCharArray(); 
  12.         for(int i=0;i<arr.length;i++){//从这里可以看出length的不同了 
  13.             System.out.println(arr[i]); 
  14.         } 
  15.    } 

   代码运行结果如图1-3所示

  
   

                        图1-3 StrDemo2编译运行的结果

     代码很简单,不做什么解释了,很明了的

    不可变字符串

          在java中有一个很重要的规则,就是一旦一个字符串被配置,它的内容就是固定不可改变的,其它的东西,改天继续唠……

字符串转Unicode小工具.exe

  • 2017年12月14日 23:15
  • 60KB
  • 下载

字符串去重

  • 2017年12月14日 10:14
  • 170B
  • 下载

linux shell 字符串操作(长度,查找,替换)详解 BASH

linux shell 字符串操作(长度,查找,替换)详解  在做shell批处理程序时候,经常会涉及到字符串相关操作。有很多命令语句,如:awk,sed都可以做字符串各种操作。 其实shell...
  • Augusdi
  • Augusdi
  • 2015年04月03日 16:01
  • 5040

Python 字符串操作方法大全

  • 2017年12月04日 16:17
  • 22KB
  • 下载

C++实现两个字符串之间的Levenshtein Distance(编辑距离)

1.什么是Levenshtein Distance Levenshtein Distance,又称编辑距离,指的是两个字符串之间,由一个转换成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符...

字符串的加密解密

  • 2017年11月28日 17:32
  • 26.95MB
  • 下载

超级字符串批量替换工具

  • 2017年11月21日 15:10
  • 611KB
  • 下载

关联数组(数组下标索引不仅仅为数字还可以是字符串等)

最近遇上的奇怪的数组下标,查阅资料了解了一下,原来是关联数组,后期有详细了解到关联数组的使用情况的话再和大家分享。 关联数组  “关联数组”是一种具有特殊索引方式的数组。不仅可以通过整数来...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:字符串
举报原因:
原因补充:

(最多只允许输入30个字)