1. 程式人生 > >Java String 類學習筆記

Java String 類學習筆記

 String 類是在java.lang包中的一個工具類;所有String _   (StringBuffer /StringBuilder) 也都是 java.lang 包中的。

輸入一個字串的寫法:

Scanner scanner =  new Scanner(System.in);
String  sc= scanner.nextLine();
System.out.println(sc);

String 是最基本的資料型別嗎?
不是。Java中的基本資料型別只有8個:byte、short、int、long、float、double、char、boolean;除了基本資料型別和列舉型別外都是引用型別。

String 是值型別還是引用型別?
除基本的資料型別外,都是引用型別,所以String是引用型別,但是在python中string是值型別。

// 建立字串
        String  message = "hello";
        System.out.println(message);
        
        char []  mes_1= {'h','e','l','l','o'};
        String message_1 = new String(mes_1);
        System.out.println(message_1);
        
        // 輸入字串
        scanner = new Scanner(System.in);
        //Scanner scanner =  new Scanner(System.in);
        String  sc= scanner.nextLine();
        System.out.println(sc);

length()方法,length屬性和size()的方法的區別:

  •  1.length()方法是針對字串來說的,要求一個字串的長度就要用到它的length()方法;
  •  2.length屬性是針對Java中的陣列來說的,要求陣列的長度可以用其length屬性;
  •  3.java中的size()方法是針對泛型集合說的,如果想看這個泛型有多少個元素,就呼叫此方法來檢視!

        這個例子來演示這兩個方法和一個屬性的用法:

public static void main(String[] args) {
    String []list={"ma","cao","yuan"};
    String a="macaoyuan";
    System.out.println(list.length);
    System.out.println(a.length());
    List array=new ArrayList();
    array.add(a);
    System.out.println(array.size());
}

java中String的常用方法

1、length() 字串的長度 
  例:char chars[]={'a','b'.'c'}; 
    String s=new String(chars); 
    int len=s.length(); 

2、charAt() 擷取一個字元 
  例:char ch; 
    ch="abc".charAt(1); 返回'b' 

3、 getChars() 擷取多個字元 
  void getChars(int sourceStart,int sourceEnd,char target[],int targetStart) 
  sourceStart指定了子串開始字元的下標,sourceEnd指定了子串結束後的下一個字元的下標。因此, 子串包含從sourceStart到sourceEnd-1的字元。接收字元的陣列由target指定,target中開始複製子串的下標值是targetStart。 
  例:String s="this is a demo of the getChars method."; 
    char buf[]=new char[20]; 
    s.getChars(10,14,buf,0); 

4、getBytes() 
  替代getChars()的一種方法是將字元儲存在位元組陣列中,該方法即getBytes()。 

5、toCharArray() 

6、equals()和equalsIgnoreCase() 比較兩個字串 

7、regionMatches() 用於比較一個字串中特定區域與另一特定區域,它有一個過載的形式允許在比較中忽略大小寫。 
  boolean regionMatches(int startIndex,String str2,int str2StartIndex,int numChars) 
  boolean regionMatches(boolean ignoreCase,int startIndex,String str2,int str2StartIndex,int numChars) 

8、startsWith()和endsWith()  startsWith()方法決定是否以特定字串開始,endWith()方法決定是否以特定字串結束 

9、equals()和== 
  equals()方法比較字串物件中的字元,==運算子比較兩個物件是否引用同一例項。 
  例:String s1="Hello"; 
    String s2=new String(s1); 
    s1.eauals(s2); //true 
    s1==s2;//false 

10、compareTo()和compareToIgnoreCase() 比較字串 

11、indexOf()和lastIndexOf() 
  indexOf() 查詢字元或者子串第一次出現的地方。 
  lastIndexOf() 查詢字元或者子串是後一次出現的地方。 

12、substring()  它有兩種形式,第一種是:String substring(int startIndex) 
         第二種是:String substring(int startIndex,int endIndex) 

 

13、concat() 連線兩個字串 

14 、replace() 替換 
  它有兩種形式,第一種形式用一個字元在呼叫字串中所有出現某個字元的地方進行替換,形式如下: 
  String replace(char original,char replacement) 
  例如:String s="Hello".replace('l','w'); 
  第二種形式是用一個字元序列替換另一個字元序列,形式如下: 
  String replace(CharSequence original,CharSequence replacement) 

15、trim() 去掉起始和結尾的空格 

16、valueOf() 轉換為字串 

17、toLowerCase() 轉換為小寫 

18、toUpperCase()