7.字符串String

 

字符串String:

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在内存中有一个对象,

S22个对象,一个是通过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,int fromIndex) :fromIndex指定位置开始,获取ch在字符串中出现的位置

int indexOf(String str):返回的是str在字符串中第一次出现的位置                   System.out.println(str.indexOf('c',2));

int indexOf(String str,int fromIndex):fromIndex指定位置开始,获取ch在字符串中出现的位置

int lastindexOf(int ch) ;获取字符在字符串中最后出现的索引位置;

System.out.println(str.lastIndexOf('a'));

2.判断:

2.1 字符串中是否包含某一个子串

       boolean contains();

              indexOf(str):可以索引str第一次出现位置,如果返回-1表示该str不在字符串中存在,所以,也可以用于对指定字符串的判断是否包含

例: ifstr.indexOf(‘a)= -1

该方法既可以判断是否包含,也可以获取出现的位置;

2.2 字符中是否有内容

       boolean isEmpty():原理就是判断长度是否为0;

2.3 字符串是否是以指定内容开头

       boolean startsWith(str);

2.4 字符串是否是以指定内容结尾;

       boolean endsWith(str);

2.5 判断字符串内容是否相同;复写了objectequals的方法;

       boolean equals(str);

2.6 判断内容是否相同,并忽略大小写;

boolean equalsIgnoreCase();

3.转换;

       3.1 将字符数组转成字符串;

              构造函数: String(char[])

                       String(char[],offset,count):将字符数组中的一部分转成字符串,其中:offset:索引起始位,count:需要转换的个数;

              静态函数:

                     staticString copyValueOf(char[]);

                     staticString copyValueOf(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 void method_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);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值