黑马程序员-java基础-String类

1.概述

  String 类适用于描述字符串事务。提供了多种对字符串进行操作的方法。

  > 字符串的最大的特点:一旦被初始化就不能被改变。

2.常见的操作方法:

  2.1 获取:

 1 public class StringText1 {
 2     public static void main(String srgs[])
 3     {
 4 //        str 是一个类类型变量,"abc"是一个对象。
 5         String str = "hello java!" ;
 6 //         str 和 str1 的区别在于:str 内存中有一个对象,而str1 内存中有两个对象。
 7         String str1 = new String("hello java!") ;
 8
 9         sop(str.length()) ;
10         for(int i = 0 ; i < str.length() ; i ++ )
11             sop(str.charAt(i))  ;
12         sop(str.indexOf(‘a‘)) ;
13         sop(str.indexOf(‘a‘,7)) ;
14
15         sop(str.indexOf("java")) ;
16         sop(str.lastIndexOf(‘a‘)) ;
17     }
18 //    打印函数:
19     public static void sop(Object obj)
20     {
21         System.out.println(obj);
22     }
23 }

    1、字符串中包含的字符数,即字符串的长度; int length() ;

    注意:String 类的 length()  是一个方法; 而 char 类型数组调用的length , 是属性。

    2、 根据位置获取位置上某个字符。 char charAt(int index) ; index 是下标。

    3 、根据字符获取该字符在字符串中的位置。

      int indexOf(int ch) ; 返回的是 ch 在字符串中第一次出现的位置。其中 ch 是字符的ASCII 码。

      int indexOf(int ch , int fromIndex) ; 从fromIndex 指定位置开始,在字符串中第一次出现的位置.

      int indexOf(String st) ; 返回的是 st 在字符串中第一次出现的位置。

      int indexOf(String st , int fromIndex) ; 从fromIndex 指定位置开始,在字符串中第一次出现的位置.

      int lastIndexOf(int ch) ; 返回指定字符在此字符串中最后一次出现处的索引。

  2.2 判断:

 1 public class String2 {
 2     public static void main(String args[])
 3     {
 4         String str1 = "hello java!" ;
 5         String str2 = new String("hello java!") ;
 6
 7         System.out.println(str1.equals(str2));
 8         System.out.println(str1 == str2);
 9     }
10 }

    上面代码第7行和第8行打印结果是不一样的。用equals 方法判断的结果是true , 因为 String 类 重写了Object类的equals 方法,是equals 方法有独特的判断方法。

    判断常用的方法有:

    1、判断字符串中是否包含某一个字串。

      boolean contains(CharSequence cs) ;

    2、字符串中是否为空:

      boolean isEmpty() ; 其原理就是判断字符长度是否为0。

    3、判断字符串是否以指定类容开头:

      boolean startsWith(String str) ;

    4、判断字符串是否以指定类容结尾:

      boolean endsWith(String cs) ;

    5、判断字符串内容是否相等:

      boolean equals(Obeject obj) ;

    6、 判断内容是否相同,并忽略大小写。

      boolean equalsIgnoreCase(String str)

  2.3 转换

 1 public class String3 {
 2     public static void main(String args[])
 3     {
 4         char[] ch = {‘h‘,‘e‘ ,‘l‘ ,‘l‘ ,‘o‘ ,‘ ‘ , ‘j‘ , ‘a‘ , ‘v‘ ,‘a‘} ;
 5 //        构造函数转换:
 6 //        将字符数组转换成字符串:
 7         String str1 = new String (ch) ;
 8         System.out.println(str1);
 9 //        从ch[] 下标 6开始,后的4个字符 ,转换成字符串。
10         String str2 = new String (ch,6,4) ;
11         System.out.println(str2);
12
13 //        静态方法:
14 //        将字符数组转换成字符串:
15         String str3 = String.copyValueOf(ch) ;
16         System.out.println(str3);
17 //        从ch[] 下标 6开始,后的4个字符 ,转换成字符串。
18         String str4 = String.copyValueOf(ch,0,5) ;
19         System.out.println(str4);
20
21         String str = "hello java" ;
22 //        将字符串转换成字符数组;
23         char[] ch1 = str.toCharArray() ;
24         for(int i = 0 ; i < ch1.length ; i ++)
25             System.out.print("‘"+ch1[i] +"‘");
26         System.out.println();
27     }
28 }

    1、将字符数组转换成字符串:

      构造方法:String(char[] ch)

           String(char[] ch , int offset , int count ) ; 将字符数组中的一部分转成字符串。

           其中:offset 参数是子数组第一个字符的索引;count 参数指定子数组的长度。如果从offset 后面的字符数小于count 则会异常。

           注意:该子数组的内容已被复制;后续对字符数组的修改不会影响新创建的字符串。

    2、将字符串转换成字符数组。

      char[] toCharArray() ;

    3、将字节数转成字符串。

      构造方法:String(byte[] by) ;

           String(byte[] by , int offset , int count) ;

    4、将字符串转成字节数组。

      byte[] getByte() ;

    5、将基本数据类型转换成字符串。

      static String valueOf(基本数据类型) .........

  2.4 替换和切割

    String replace(char oldChar , char newChar) ; 返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。

    String[] split(String regex) ; 根据给定正则表达式的匹配拆分此字符串。

public class String4 {
    public static void main(String args[])
    {
        String str = "hello,java,String" ;
        System.out.println(str);
//        替换字符
        String str1 = str.replace(‘,‘, ‘ ‘) ;
        System.out.println(str1);
//        切割
        String[] str2 = str.split(",") ;
        for(int i = 0 ; i < str2.length  ; i++ )
            System.out.println(str2[i]);
    }
}

  2.5.子串、转换,去除空格和比较。

    1、子串:获取字符串中的一部分。

      String substring(int begin) ; 从指定位置开始到结尾。如果角标不存在,或出现字符串角标异常。

      String substring(int begin , int end) ;  包含开头,不包含尾。

    2、将字符串大小写转换:

      String toUpperCase() ; 将字符串转成大写。

      String toLowerCase() ; 将字符串转成小写。

    3、将字符串两端的多个空格去除: String trim() ;

    4、对两个字符串进行自然顺序的比较。 int compareTo(String str) ; 当另一个字符串大于该字符串时,返回负数;相等,则返回0;否则返回正数。

 1 public class String5 {
 2     public static void main(String args[])
 3     {
 4         String str = "hello java " ;
 5 //        获取字符串中的一部分:
 6         System.out.println(str.substring(0, 6));
 7         System.out.println(str.toUpperCase());
 8         String str1 = "             HELLO WORLD      " ;
 9         System.out.println(str1.toLowerCase());
10 //        除去字符串两端的多个空格:
11         System.out.println(str1.trim());
12         String str2 = "hello world " ;
13 //        对比两个字符串进行自然顺序的比较
14         System.out.println(str.compareTo(str2));
15         System.out.println(‘j‘- ‘w‘);
16     }
17 }

    在第14行和第15行打印的结果是一样的。

时间: 2024-08-05 07:03:43

黑马程序员-java基础-String类的相关文章

黑马程序员——Java基础---String类

--Java培训.Android培训.iOS培训.UI培训.PHP培训.期待与您交流! -- Scanner的概述和方法介绍 1.Scanner类的构造方法 Scanner(InputStream source) 2. 一般方法 hasNextXxx() 判断是否还有下一个输入项,其中Xxx可以是Int,Double等.如果需要判断是否包含下一个字符串,则可以省略Xxx package com.geekds.scanner; import java.util.Scanner; public cl

黑马程序员_Java基础String类

- - - - - android培训.java培训.期待与您交流! - - - - - - - String是一个对象 String不属于8种基本数据类型(byte, char, short, int, float, long, double, boolean),String是对象,所以其默认值是null. String是一种特殊的对象,有其它对象没有的一些特性,通过JDK发现: public final class String implements java.io.Serializable

黑马程序员----java基础--String字符串

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.String类概述 java中用String类进行描述对字符串进行了对象的封装.这样的好处是可以对字符串这种常见数据进行方便的操作.对象封装后,可以定义N多属性和行为. String类是final的,也就是说它没有子类. 二.String字符串的特点 1.字符串一旦被初始化就不可以被改变.并且存放在方法区中的常量池中. 1 class StringDemo{ 2 public static

黑马程序员——Java基础---String与StringBuilder

String类    一.特点 String是字符串的类类型,用于描述字符串事物.字符串是一个特殊的对象并且因为String对象特别常用,所以在对String对象进行初始化时,Java提供了一种简化的特殊语法,例如:String s=”123”.以及String s=123+””; 字符串最大的特点就是:一旦被初始化就不可以被改变. 例: String s1=“abc”: String s2 = new String(“abc”): String s3=“abc”: 比较的结果: s1==s2

黑马程序员-Java基础---String、StringBuffer、StringBuilder、包装类

第一讲概述 1.  字符串是一个特殊的对象,它一旦被初始化,就不可以被改变,不能有子类,所以String中的方法都不能被复写: 2.  字符串有两种赋值方式 1)  String s1 = “abc”;  ——在内存中只有一个对对象. 2)  String s2 = new String(“abc”):——在内存中有两个对象,”abc”是一个对象,new又创建了一个对象. 3.  equals方法 Object中的equals方法是用于比较两个对象的地址的,String类中重写了该方法,使得其比

黑马程序员-Java基础-面向对象-类和对象、封装、构造函数、this、static、饿汉式&amp;懒汉式

第一讲  面向对象概念 1.  定义 相对于与面向过程而言的,将功能封装进对象,我们只关心具备了该功能的对象,而不用关注对象的具体细节. 面向对象的特点:使复杂问题简单化.我们只关心什么对象能处理什么事情,而不用关心具体的实现细节. 2.  面向对象特征 封装.继承.多态. 第二讲  类和对象的关系 1.  概述 类就是:对现实生活中事物的描述,可以是实体的事物也可以是一件事等: 对象是:是某类事物的实例,实实在在存在的个体: 映射到java中,描述就是class定义的类. 具体对象就是对应ja

黑马程序员——Java基础工具类---Collections、Arrays、超级for循环、静态导入、方法可变参数

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- Collections 一.概述 Collections是对集合框架的一个工具类.它里边的方法都是静态的,不需要创建对象.并未封装特有数据. 在Collections工具类中大部分方法是用于对List集合进行操作的,如比较,二分查找,随机

黑马程序员——Java基础---集合框架工具类

黑马程序员——Java基础<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------ 一.概述 Java为操作Set.List和Map提供了一系列工具类,主要有Collections和Arrays.这两个工具类的特点:类中的方法都是静态的,不需要创建对象,直接使用类名调用即可.Collections:是集合对象

黑马程序员——Java基础---IO(下)

黑马程序员——Java基础---IO(下) ------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------ 一.概述 Java除了基本的字节流.字符流之外,还提供了File类.properties类.打印流.序列流等和输入输出相关的类,它们能够帮助我们更好的处理信息.下面将对它们进行简单的介绍. 一.正