天马行空工作室

 找回密码
 加入天马
搜索
查看: 3484|回复: 0

Java基础教程第五课-字符串(一)

[复制链接]
发表于 2013-1-16 16:57:35 | 显示全部楼层 |阅读模式
字符串是Java中经常要处理的对象。在Java中字符串作为String类的实例来处理,以对象的方式处理字符串,将使字符串更加灵活、方便。
1.      声明字符串
在Java语言中字符串必须包含在一对双引号(“ ”)之内。
声明字符串常量语法格式:
                String str = [null]
注:①在Java中由双引号(“ ”)包围的都是字符串;
      ②声明字符串变量必须经过初始化才能使用
2.      创建字符串
在Java中将字符串作为对象,所以可以像一般对象一样来创建字符串对象。创建对象要使用类的构造方法。String对象常用的构造方法如下:
a.       使用一个字符数组a创建String对象
                        语法格式:String(char a[])
      例: 1.png   
b.    提取字符数组a中的一部分创建一个字符串对象。
语法格式: String(char a[], int offset, int length)
     例: 2.png
c.    分配一个新的对象,使其表示字符数组参数中的所有元素连接的结果
语法格式: String(char[] value)

例: 3.png
3. 字符串的连接
连接多个字符串,使用“+“运算符。
例:
  1. <font face="微软雅黑">public class Join
  2. {
  3.     public static void main(String args[])
  4.     {
  5.           String s1 = new String(“Hello”);
  6.            String s2 = new String(“world”);
  7.            String s = s1 +” ”+ s2;
  8.            System.out.println(s)
  9.      }
  10. }
  11. </font>
复制代码
结果为:Hello world
4.    获取字符串信息
    a.  获取字符串长度,使用String类的length()方法可获取声明的字符串对象的长度.
           语法格式: str.length();
例:
  1. public class Link
  2. {
  3.        public static void main(String[] args)
  4.      {
  5.             String str = "addressa";
  6.             int size = str.length();
  7.             System.out.println("size = " + size);
  8.      }
  9. }
复制代码
结果为:size = 8
   b. 字符串的查找
           两种查找方法: indexOf()方法返回的是搜索的字符或字符串首次出现的位置;lastIndexOf()方法返回的是搜索的字符或字符串最后的一次出现的位置。
例:
  1. public class Text
  2. {
  3.      public static void main(String[] args)
  4.     {
  5.         String str = "We are students";
  6.         int size = str.lastIndexOf("");
  7.         System.out.println("Index of space in str is: "+ size);
  8.         System.out.println("Length of str :" + str.length());
  9.     }
  10. }
复制代码
结果为:Index of space in str is: 15
Length of str :15
获取指定索引 位置的字符,语法格式如下:
                                Str.chatAt(int index)
例:
  1. public class Ref
  2. {
  3.        public static void main(String[] args)
  4.      {
  5.           String str = "hello world";
  6.          char mychar = str.charAt(6);
  7.          System.out.println("6 of str is:"+ mychar);
  8.      }
  9. }
复制代码
结果为: 6 of str is:w
5. 字符串操作
    a. 获取子字符串
        substring(int beginIndex):从某一处开始截取字符串
         substring(int beginIndex, int endIndex): 从字符串某一索引位置开始截取至某一所以位置结束的子串。
  1. public class Subs
  2. {
  3.       public static void main(String[] args)
  4.      {
  5.              String str = "hello word";
  6.              String substr = str.substring(0, 3);
  7.            System.out.println(substr);
  8.     }
  9. }
复制代码
结果为:hel
     b. 去除空格,使用trim()方法返回字符串副本,语法格式:
                                    Str.trim()
例:
  1. public class Blak
  2. {
  3.        public static void main(String[] args)
  4.      {
  5.            String str = " Java class ";
  6.           System.out.println("length of original str is :" + str.length());
  7.           System.out.println("length of new str without space is :" + str.trim().length());
  8.      }
  9. }
复制代码
注:在字符串中空格占用一个索引位置
a.       字符串的替换,使用replace()方法可实现将指定的字符或字符串替换成新的字符或字符串,语法格式:
                                       str.replace(char oldChar, char newChar)
例:
  1. public class Text
  2. {
  3. public static void main(String[] args)
  4. {
  5. String str = "address";
  6. String newstr = str.replace("a", "A");
  7. System.out.println(newstr);
  8. }
  9. }
复制代码
结果:Address
b.  判断字符串的开始于结尾,startswith()方法与endsWith()方法分别用于判断字符串是否以指定的内容开始或结束。语法格式:
str.startsWith(String prefix)
str.endWith(String suffix)
      prefix,suffix分别为前缀的字符,后缀的字符串。
c.  判断字符串是否相等
字符串之间的比较不能简单的使用比较运算符“==”,因为比较运算符比较的是两个字符串的地址是否相同。比较两个字符串内容是否相等,应使用equal()方法和equalIgnoreCase()方法。
   equal()方法:两个字符串具有相同的字符和长度,区分大小写。
   EqualIgnoreCase()方法:忽略大小写的情况下比较两个字符串是否相等
d.  *按字典顺序比较两个字符串(这种方法还没弄清楚,研究清楚之后补充)
compareTo()按照字典的顺序比较两个字符串,基于各个字符的Unicode值。如果按字典顺序此String对象位于参数字符字符串之前,择比较结果为一个负整数;反之则为一个正整数;如果两个字符串相等,则结果为0.语法格式:
         str.compareTo(String otherstr)
注:compareTo只有在方法equals(Object)返回true时才返回0.
e.  字母大小写转换
toLowerCase()将字符串中的所有字符从大写字母改写为小写字母,而toUpperCase()可将字符串中的小写字母改写为大写字母。
f.  字符串分割
使用split()方法使字符串按指定的分割字符或字符串对内容进行分割,并将分割后的结果存放在字符串数组中。split()方法提供了以下两种重载方式。
(1)     split(String sign)根据给定的分隔符对字符串进行拆分
(2)     split(String sign, int limit)根据给定的分隔符对字符串进行拆分,并限定拆分的次数。
例:
  1. public class Text
  2. {
  3.       public static void main(String[] args)
  4.       {
  5.             String str = new String("abc,def,ghi,gkl");
  6.             String[] newstr = str.split(",");
  7.             for (int i = 0; i < newstr.length; i++)
  8.             {
  9.                  System.out.println(newstr[i]);
  10.            }
  11.            String[] newstr2 = str.split(",", 2);
  12.           for (int j = 0; j < newstr2.length; j++)
  13.           {
  14.                System.out.println(newstr2[j]);
  15.          }
  16.    }
  17. }
复制代码



您需要登录后才可以回帖 登录 | 加入天马

本版积分规则

Archiver|手机版|小黑屋|天马行空工作室 ( 京ICP备12003429号  

GMT+8, 2019-11-14 09:24 , Processed in 1.218088 second(s), 27 queries .

Powered by Discuz! v8

© 2010-2014 Java基础教程第五课-字符串(一) - Java 天马行空工作室

快速回复 返回顶部 返回列表