1String類
String類描述的是文字字串序列。 留言 QQ 寫日誌。
建立String類的物件的兩種方式:
""直接賦值法
new關鍵字法
1.1字串物件的比較
String Str = “jack”這個語句會先檢查字串常量池是否存放這個”jack1”這個字串物件,如果沒有存在,那麼就會在字串常量池中建立這個字串物件,如果存在直接返回該字串的記憶體地址值。
String str3 = new String(“jack”) 該語句會建立兩個物件,首先會先檢查字串常量池中存不存在jack這個字串物件,如果不存在就會建立,如果存在就返回記憶體地址值。建立了出來之後,new String這個語句就會在堆記憶體中開闢一個字串物件。總共兩個物件。
1.1獲取方法
int length() 獲取字串的長度
char charAt(int index) 獲取特定位置的字元 (角標越界)
int indexOf(String str) 獲取特定字元的位置(overload)
int lastIndexOf(int ch) 獲取最後一個字元的位置
1.1判斷方法
boolean endsWith(String str) 是否以指定字元結束
boolean isEmpty()是否長度為0 如:“” null V1.6
Boolean contains(CharSequences) 是否包含指定序列 應用:搜尋
Boolean equals(Object anObject) 是否相等
Boolean equalsIgnoreCase(String anotherString) 忽略大小寫是否相等
1.1轉換方法
String(char[] value) 將字元陣列轉換為字串
String(char[] value, int offset, int count)
Static String valueOf(char[] data)
static String valueOf(char[] data, int offset, int count)
char[] toCharArray() 將字串轉換為字元陣列
1.1其他方法
String replace(char oldChar, char newChar) 替換
String[] split(String regex) 切割
String substring(int beginIndex)
String substring(int beginIndex, int endIndex)擷取字串
String toUpperCase() 轉大寫
String toLowerCase() 轉小寫
String trim() 去除空格
1.2練習
- 去除字串兩邊空格的函式。
publicclassDemo1 {
// 定義一個祛除字串兩邊空格的函式
publicstaticString trim( String str ){
// 0、定義求字串需要的起始索引變數
intstart = 0;
intend = str.length()-1;
// 1. for迴圈遍歷字串物件的每一個字元
for(inti = 0; i
{
if( str.charAt(i) == ' ' )
{
start++;
}else{
break;
}
}
System.out.println( start );
for(; end= 0; )
{
if( str.charAt(end) == ' ' )
{
end--;
}else{
break;
}
}
System.out.println( end );
// 2. 求子串
if( start < end ){
returnstr.substring( start , (end+1) );
}else{
return"_";
}
- 獲取上傳檔名 "D:\20120512\day12\Demo1.java"。
publicstaticString getFileName2( String path ){
returnpath.substring( path.lastIndexOf("\") + 1 );
}
}
- 將字串物件中儲存的字元反序。
// 將字串物件中儲存的字元反序
publicstaticString reaverseString( String src ){
// 1. 將字串轉換為字元陣列
charchs[] = src.toCharArray();
// 2. 迴圈交換
for(intstart = 0 , end = chs.length - 1; start < end ; start++,end-- )
{
// 3. 資料交換
chartemp = chs[end];
chs[end] = chs[start];
chs[start] = temp;
}
// 4. 將字元陣列轉換為字串
returnnewString( chs );
}
- 求一個子串在整串中出現的次數
publicstaticintgetCount( String src , String tag ){
// 0. 定義索引變數和統計個數的變數
intindex = 0;
intcount = 0;
// 1. 寫迴圈判斷
while( ( index = src.indexOf(tag) ) != -1 ) // jackjava
{
// 2. 求字串
System.out.println( src );
src = src.substring( index + tag.length() ); // index 4 + 4 = 8
System.out.print( src.length() + " : " + index + " : " + tag.length() );
// 3. 累加
count++;
}
returncount;
}
1StringBuffer
StringBuffer: 由於String是不可變的,所以導致String物件氾濫,在頻繁改變字串物件的應用中,需要使用可變的字串緩衝區類。
特點:
預設緩衝區的容量是16。
StringBuffer : 執行緒安全的所有的緩衝區操作方法都是同步的。效率很低。
1.1新增方法
StringBuffer("jack") 在建立物件的時候賦值
append() 在緩衝區的尾部新增新的文字物件
insert() 在指定的下標位置新增新的文字物件
StringBuffer sb =newStringBuffer("jack");
sb.append(true);
sb.append('a');
sb.append(97).append(34.0).append(newchar[]{'o','o'}); // 鏈式程式設計
System.out.println( sb.toString() ); // 輸出緩衝區的中文字資料
sb =newStringBuffer("jack");
sb.insert( 2, "java" ); // jajavack
System.out.println( sb.toString() );
1.2檢視
toString() 返回這個容器的字串
indexOf(String str) 返回第一次出現的指定子字串在該字串中的索引。
substring(int start) 從開始的位置開始擷取字串
1.3修改(U)
replace(int start int endString str) 使用給定 String 中的字元替換此序列的子字串中的字元。該子字串從指定的 start 處開始,一直到索引 end - 1 處的字元
setCharAt(int index char ch) 指定索引位置替換一個字元
1.4刪除(D)
1.5反序
reverse() 把字串反序輸出。
1StringBuilder
StringBuilder 是JDK1.5之後提出的,執行緒不安全,但是效率要高。用法與StringBuffer類似。
2System
System 可以獲取系統的屬性。
1Runtime
Runtime 類主要描述的是應用程式執行的環境。
1Date
Date 類封裝的是系統的當前時間.。但是Date已經過時了,sun推薦使用Calendar類。
Calendar: 該類是一個日曆的類,封裝了年月日時分秒時區。
日期格式化類:SimpleDateFormat
1Math
Math:類封裝了很多數學的功能。
練習:生成一個隨機碼
注:加群要求 學習交流群:450936584
1、想學習JAVA這一門技術, 對JAVA感興趣,想從事JAVA工作的。
2、工作0-5年,感覺自己技術不行,想提升的
3、如果沒有工作經驗,但基礎非常紮實,想提升自己技術的。
4、還有就是想一起交流學習的。
5、小號加群一律不給過,謝謝。
群內每天會分享最新的視訊和資料,可以免費領取學習視訊和資料
轉發此文章請帶上原文連結,否則將追究法律責任!