Java從入門到精通之String類(一)

String類

注意:字符串是必須放在雙引號內的,char類型的放在單引號內。

"23.23" "ABCDF" "你好"

一、創建字符串

  • 直接聲明方式
String str;
  • 創建字符串對象(使用構造方法)的方式
Sring(char a[],int offset,int length); //參數分別爲爲字符串數組、開始截取位置、截取長度,如下:

char a[] = {'a','b','c','d'};
<!--一個參數時-->
String s = new String(a);//等價於下面的
String s = new String("abcd");
<!--多個參數時-->
char a[] = {'s','t','u','d','e','n','t'};
String s = new String(a,2,4);//等價於下面的
String s = new String("uden");

二、連接字符串

  • 使用加號+(同js語法),連接其他數據類型時會自動調用toString()方法。可以使用()改變運算優先級從而進行先數據運算,後拼接,如下:
public class Stringprt {
  public static void main(String[] args) {
	  int i = 10;
	  float f = 12.1f;
	  System.out.println("兩個數相加的和爲"+(i+f));//22.1
  }
}

三、字符串包裝對象常用獲取字符串信息方法

  • 獲取字符串的長度採用str.length()方法
  • 字符串查找採用str.indexOf(substr)和str.lastIndexOf(substr)方法。分別代表字串第一次出現的位置和最後一次出現的位置
  • 通過索引查找字符,用str.charAt(int index)方法
public class getStringInfo {
   public static void main(String[] args) {
	   String str = "abcdef";
	   System.out.println(str.length()); //6
	   System.out.println(str.indexOf("ab")); //0
	   System.out.println(str.lastIndexOf("ef")); //4
	   System.out.println(str.charAt(0));  //a
   }
}

四、字符串操作常用方法

  • 獲取子串方法,str.substring(),一個參數時傳入的是開始截取的位置,返回的字串從開始位置一直到結束,兩個參數時,第一個是開始位置,第二個是結束位置。注意截取區間是左閉右開的。
public class Substringprt {
   public static void main(String[] args) {
	   String str = new String("123456789");
	   String substr1 = str.substring(1);
	   String substr2 = str.substring(0,2);  //因爲左閉右開,所以取不到2位置上的3
	   System.out.println(substr1);//"23456789"
	   System.out.println(substr2);//"12"
   }
}

  • 去除首尾空格方法,str.trim()
public class Deletspace {
  public static void main(String[] args) {
	  String str = new String("  1 2 3   ");
	  String str1 = str.trim();
	  System.out.println(str.length());  //10
	  System.out.println(str1.length()); //5
	  }
}

  • 字符串替換str.replace(char oldChar,char newChar),注意是全部替換(與js不同),返回一個新字符串。
  • 是否以某字符串開始或結束分別爲str.startsWith(String prefix)和str.endsWith(String suffix),返回一個新字符串
  • 判斷字符串是否相等,不能用==,因爲都是對象,在堆內存裏引用地址不一樣。要用str.equals(String otherstr)或者equalsIgnoreCase(String otherstr),前者區分大小寫,後者不區分。
public class Stringmethods {
  public static void main(String[] args) {
	  String str1 = new String("abAbabAb");
	  String str2 = new String("abAbabAb");
	  String str3 = new String("abAbAbAb");
	  String str4 = str1.replace('b','a'); //替換操作
	  boolean flag = (str1==str2);   //判斷兩個對象是否相等
	  boolean flag1 = str1.equals(str2);  //區分大小寫判斷是否相等
	  boolean flag2 = str1.equalsIgnoreCase(str3); //不區分大小寫判斷是否相等
	  boolean flag3 = str1.startsWith("ab"); //判斷是否以某子串開始
	  boolean flag4 = str1.endsWith("Ab"); //判斷是否以某字串結尾
	  
	  System.out.println(str4); //aaAaaaAa
	  System.out.println(flag);//false
	  System.out.println(flag1);//true
	  System.out.println(flag2);//true
	  System.out.println(flag3);//true
	  System.out.println(flag4);//true
  }
}

未完…

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