第五章 Java中的String類和StringBuffer(上)

  爲什麼不從第一章開始記錄?

    因爲,博主最近在刷“藍橋杯”的算法題,題目中遇到了許多和字符串相關的題目。

比如:要求程序對用戶輸入的串進行處理。具體規則如下:

      1.  把每個單詞的首字母變爲大寫。

      2.  把數字與字母之間用下劃線字符(_)分開,使得更清晰

      3.  把單詞中間有多個空格的調整爲1個空格。

例如:

      用戶輸入:you and     me what cpp2005program

      則程序輸出:You And Me WhatCpp_2005_program

   於是,此篇將記錄java中字符串的使用方法以及java中常用類使用。

   5.1  String類

          何謂字符串?其就是一連串的字符(char),它由許多單個字符連接而成。字符串中可以包含任意字符。Java中定義了String和StringBuffer兩個類來封裝字符串,並提供了一系列操作字符串的方法。它們都位於java.lang包中,因此不需要導包就可以直接使用。

     5.1.1 String類的初始化

          1.使用字符串常量直接初始化一個String對象

                  String 變量名 = 字符串

String str1=null;  //初始化爲空
String str2="";   //初始化爲空串
String str3="HelloWorld";  //其中HelloWorld爲串str3的內容

          2.使用String的構造方法初始化字符串對象

                  String 變量名 =new String(字符串);

String str1=new String(); //創建一個空的字符串
String str2=new String("NiHao"); //創建一個內容爲NiHao的字符串
char [] charArray =new char[] {'A','B','C'};
String str3=new String(charArray);  //創一個內容爲字符數組的字符串

          3.String類的常見操作

                 3.1 字符串的基本操作

    String str1=new String("abcdefghijklmncdslasdlasdj");
	System.out.println("字符串的長度:"+str1.length());
	System.out.println("字符串中第一個字符:"+str1.charAt(0));
	System.out.println("字符c的第一次位置:"+str1.indexOf('c'));
	System.out.println("字符c最後一次出現的位置:"+str1.lastIndexOf('c'));
	System.out.println("子字符串第一次出現的位置:"+str1.indexOf("cd"));
	System.out.println("自字符串最後一次出現的位置:"+str1.lastIndexOf("cd"));

                3.2 字符串的轉換操作     

String str1=new String("abcdefghijklmncdslasdlasdj");
	char [] array=str1.toCharArray(); //將字符串轉化爲字符串數組
	//for each遍歷array數組
	for(char x:array)
	{
		System.out.print(x+" ");
	}
	//將int類型的值轉換爲String類型
	int num=666;
	String str2=String.valueOf(num);
	//將字符串轉換成大寫
	String str3=str1.toUpperCase();
	//將字符串轉換成小寫
	String str4=str1.toLowerCase();

                3.3 字符串判斷操作                 

//以下例子涉及的方法返回值都是boolean類型
	  String str1=new String("abcdefghijklmncdslasdlasdj");
	  //判斷字符串是否已字符ab開頭
      str1.startsWith("ab");
      //判斷字符串是否已dj結尾
      str1.endsWith("dj");
      //判斷字符串是否包含字符串mncd
      str1.contains("mncd");
      //判斷字符串是否爲空串
      str1.isEmpty();
      //判斷兩個字符串是否相等
      String str2="HelloWorld";
      String str3="HelloWorld";
      str2.equals(str3);

                3.4 字符串截取和分割       

      String date="2019-11-15";
	  //從第六個字符截取到末尾的結果
	  System.out.println(date.substring(5));
	  //截取第六個字符到第七個字符的內容
	  System.out.println(date.substring(5,7));
      String []strArray=date.split("-");
	  for(String  x:strArray)
	  {
		  System.out.println(x);
	  }

小結

           本篇主要介紹了String類的常用操作,如:訪問字符串的長度(length),某個字符(串)出現的第一次位置t及最後一次出現的位置,字符串轉換大小寫和for each快速遍歷字符串值,判斷字符串開頭,結尾是否爲該字符(串)操作以及字符串的截取(subString)和分割(split)。

預告

           下篇將介紹StringBuffer類的使用。

    

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章