A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 古银平 中级黑马   /  2012-12-18 20:56  /  1241 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

String s = “abc”;s 是一个类类型变量,”abc”是一个对象;
字符串最大特点:一旦被初始化就不可以被改变,是一个常量;
class StringDemo{
       public static void main(String[] args) {
              String s1 = "abc";
              String s2 =newString("abc");
              System.out.println(s1 ==s2);                     //false
              System.out.println(s1.equals(s2));        //true
//Stirng类复写了Object类中equals方法,重写后用于判断字符串是否相同;
       }
}
S1 和s2有什么区别?
S1在内存中有一个对象,
S2有2个对象,一个是通过new创建的,存在于堆内存中,另一个是”abc”存在于字符串缓冲区中;
String 类适用于描述字符串事物,那么它就提供了多个方法对字符串进行操作
常见的操作:
***1,获取. String str = "abcdef";
   1.1 字符串中的包含的字符数,也就是字符串的长度
int length();  获取长度
System.out.println(str.length());
       1.2 根据位置获取位置上某个字符
char  charAt(int index)
System.out.println(str.charAt(2));
   1.3根据字符获取该字符在字符串中位置:
Int indexOf(int ch) 返回的是ch在字符串中第一次出现的位置
System.out.println(str.indexOf('a'));
Int indexOf(int ch,intfromIndex) : 从fromIndex指定位置开始,获取ch在字符串中出现的位置
int indexOf(String str): 返回的是str在字符串中第一次出现的位置                    System.out.println(str.indexOf('c',2));
int indexOf(String str,intfromIndex): 从fromIndex指定位置开始,获取ch在字符串中出现的位置
int lastindexOf(int ch) ;获取字符在字符串中最后出现的索引位置;
System.out.println(str.lastIndexOf('a'));
2.判断:
2.1 字符串中是否包含某一个子串
       boolean contains();
              indexOf(str):可以索引str第一次出现位置,如果返回-1表示该str不在字符串中存在,所以,也可以用于对指定字符串的判断是否包含
例: if(str.indexOf(‘a’) != -1)
该方法既可以判断是否包含,也可以获取出现的位置;
2.2 字符中是否有内容
       boolean isEmpty():原理就是判断长度是否为0;
2.3 字符串是否是以指定内容开头
       boolean startsWith(str);
2.4 字符串是否是以指定内容结尾;
       boolean endsWith(str);
2.5 判断字符串内容是否相同;复写了object类equals的方法;
       boolean equals(str);
2.6 判断内容是否相同,并忽略大小写;
boolean equalsIgnoreCase();
3.转换;
       3.1 将字符数组转成字符串;
              构造函数: String(char[])
                      String(char[],offset,count):将字符数组中的一部分转成字符串,其中:offset:索引起始位,count:需要转换的个数;
              静态函数:
                     staticStringcopyValueOf(char[]);
                     staticStringcopyValueOf(char[] date, int offset, int count);
                           
  **3.2 将字符串转成字符数组;
           char[] toCharArray();
       3.3 将字节数组转成字符串;
               String(char[])
               String(char[],offset,count):将字节数组中的一部分转成字符串,
       3.4 将字符串转成字节数组;
              byte[]getBytes();
特殊:字符串和字节数组在转换过程中,是可以指定编码表的
3.5 将基本数据类型转成字符串;
static String valueOf(int)
3+”” == String.valueOf(3);
4.替换
       Stringreplace(oldchar,newchar);
       public static voidmethod_replace() {
              String s="hello java";
              //替换字符,如果要替换的字符不存在,返回的还是原字符
              String s1 =s.replace(‘a’,’e’);
       }
5.切割
       String split(regex);
       public static voidmethod_split() {
              String s="abc,def,ghi";
              //在有逗号的位置把字符串分割
              String[] arr=s.split(",");
              遍历打印新的数组;
              for(int x=0;x<arr.length;x++){
                     sop(arr[x]);     
              }     
       }
6.子串.获取字符串中的一部分
       String substring(begin)
       Stringsubstring(begin,end)
练习:
class StringDemo {
       public static voidmain(String[] args){
      
              method_get();
              Method_trans();
              String str="StudentDemo.java";
              //判断文件名称是否以"Student"开头
              sop(str.startsWith("Student"));
              //判断文件是否是java文件
             sop(str.endsWith(".java");
              //判断文件名称是否包含"Demo.";
             sop(str.contains("Demo.");
       }
       public static voidmethod_get() {
              String str ="abcdabcdefg";
              //长度;
              sop(str.length());   
              //根据索引获取字符;
              //当访问到字符串中不存在角标时,会发生角标越界异常;
              sop(str.charAt(4));
              //根据字符获取索引
              //没有找到指定的字符,返回-1;
              sop(str.indexOf('b',2));
              //反向索引一个字符串的位置;
             sop(str.lastIndexOf("a"));
              
       }
       public static voidsop(Object obj) {
              //jvm1.5以后新特性,可以打印数组,也可以打印字符串;
              System.out.println(obj);
       }
public static voidmethod_trans() {
       char[] arr ={'a','b','c','d','e'};
       String str = newString(arr);
       String str1 = newString(arr,1,4);
       sop(str);
       sop(str1);
}
}
7.转换,去除空格,比较;
7.1 将字符串转成大写或则小写。
               String toUpperCase();
               String toLowerCase();
       7.2 将字符串两端的多个空格去除。
              String trim();
       7.3 对两个字符串进行自然顺序的比较。
              intcompareTo(string);

1 个回复

正序浏览
值得学习ing!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马