JAVA_SE階段基礎知識——String類

1、字符串的長度

求字符串的長度用   字符串標識符.length();  注意:要有小括號
求數組的長度用   數組名.length;  注意:沒有小括號	

2、字符串的比較

用“==”判斷的是棧內存中堆內存的地址,兩個字符串所存的地址是否一致
用“equals()”判斷的是堆內存中的內容,兩個字符串所存的內容是否一致

3、可變長的參數

public void show(String(int)...str){
	for(int i;i<str.length;i++){
		system.out.print(str[i]++" ");	

	}
}

4、String類型的賦值方式

a、採用字面直接賦值   String s1="aaa";
b、構造方法賦值  String s2=new String("aaa");
c、傳遞引用賦值  String s3=s2;//把s2的堆內存的地址給了s3

只有通過傳遞引用賦值的,才能看到他們的值相等。s3==s2//true

String s1="abc";
String s2="abc";
String s3="abc";
s1==s2,s1==s3,s2==s3;都是true。abc在字符串池中。

5、“==”與“equals()”的區別:

    ==比較的是堆內存的地址是否相等;

	equals()比較的是堆內存裏的內容是否一致

6、equalsIgnoreCase()忽略大小寫的比較方法

   toLowerCase()大寫轉小寫的方法
   toUpperCase()小寫轉大寫的方法

7、常用的提取方法

獲取字符在字符串中出現的位置:indexOf(int ch)    lastIndexOf(int ch)
截取字符串:subString(int beginindex);開始截取直到末尾。
	subString(int beginindex,int endindex)從begin開始打印到end-1結束

8、trim—去掉字符串前後的空格

變量名.trim();

9、根據某個字符拆分字符串—split

變量名.split( "  " );     返回一個字符串的數組

10、StringBuffer類

適用於對字符串頻繁修改時
	StringBuffr的聲明:
	StringBuffer sb=new StringBuffer();//創建字符串緩衝對象
	StringBuffer sb=new StringBuffer("aaa");

	StringBuffer的使用:
	sb.toString();    //轉化爲String類型
	添加功能:sb.append("***");      //追加字符串,返回的是本身,沒有重新開空間
		 sb.insert(1,"***");       // 插入字符串,返回的是本身,沒有重新開空間

	刪除功能:sb.deleteCharAt(int index);//刪除指定位置的字符,並返回本身
		  sb.deleteCharAt(int start,int end);//刪除從指定位置開始到指定位置結束的內容,並返回本身
	
	替換功能:sb.replace(int start,int end,String str);//從start開始到end結束用str替換,並返回本身
	反轉功能:sb.reverse();//返回本身
	截取功能:sb.subString(int start);//截取返回的是String,sb本身不變	

11、String與StringBuffer、StringBuilder:

String長度大小不可變
StringBuffer的長度是可變的、線程安全,效率低
StringBuilder長度可變、線程不安全(容易造成死鎖)、速度快效率高

 StringBuffer和數組的區別:
二者都可看成是一個容器,裝其他數據;
但StringBuffer的數據最終是字符串數據;
而數組可以放置多種數據,但必須是同一種數據類型的

12、把字符串變成字符數組—字符串變量名.toCharArry();

13、String類的判斷功能:

boolean equale(Object obj);// 比較字符串的內容是否相同。區分大小寫
boolean equaleIgnoreCase(String str);//比較字符串的內容是否相同,忽略大小寫
boolean contains(String str);//判斷大字符串中是否包含小字符串
boolean startsWith(String str);//判斷字符串是否以某個指定的字符開頭
boolean endsWith(String str);//判斷字符串是否以某個字符結尾
boolean isEmpty();//判斷字符串是否爲空

注意:字符串內容爲空和字符串對象爲空
      String s="";
      String s=null;//對象都不存在

14、String類的轉換功能:

byte[] getBytes();//把字符串轉換爲字節數組
char[] toCharArray();//把字符串轉換爲字符數組
static String valueOf(char[] chs);//把字符數組轉換爲字符串
static String valueOf(int i);//把int類型的數據轉換爲字符串
String concat(String str);//把字符串拼接

15、String類的其他功能:

替換功能:String replace(char old,char new);
	 String replace(char old,char new);

16、形參與實參

形參:出現在函數定義中,在整個函數體內可以使用,離開該函數則不能使用
實參:出現在主調函數中,進入被調函數後,實參變量也不能使用
基本類型:形式參數的改變不影響實際參數
引用類型:形式參數的改變直接影響實際參數
String 作爲參數傳遞,效果和基本類型作爲參數傳遞是一樣的

17、正則表達式:

符合一定規則的字符串
標準的/^ $/頭和尾
最簡單的手機號驗證:/^1\d{10}$/
郵箱驗證:/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+$/
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章