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_-])+$/