日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java基础(三十四)String、StringBuffer类和数据缓冲区Buffer类

發(fā)布時間:2024/10/12 java 81 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java基础(三十四)String、StringBuffer类和数据缓冲区Buffer类 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

  一、String類

  1.創(chuàng)建字符串對象

  創(chuàng)建字符串對象有兩種方法:直接用“=”或者使用“new String(...)”

String aStr = "TMZ";String bStr = new String("TMZ");String nullStr = "";String nullStr_1 = new String();String nullStr_2 = new String("");

  2.連接字符串

  使用“+”運算符可以連接字符串。字符串可以和任意類型的數(shù)據(jù)進行字符串連接操作,若該數(shù)據(jù)為基本類型,則會自動轉換為字符串;若為引用類型,則會自動調用所引對象的toString()方法獲得一個字符串,然后再進行字符串的連接操作。

System.out.println("TMZ" + 1996); //TMZ1996System.out.println("10" + 7.5F); //107.5System.out.println("TMZ" + true); //TMZtrueSystem.out.println("TMZ" + "SJY"); //TMZSJYSystem.out.println("SJY" + "TMZ"); //SJYTMZ

  在判斷是字符串連接符還是加法運算符時,按照先左后右的順序,根據(jù)運算符兩邊的類型來決定是進行加法運算還是進行字符串連接。

System.out.println("TMZ" + 1996 + 2.2); //TMZ19962.2System.out.println(1996 + 2.2 + "TMZ"); //1998.2TMZ

  3.字符串操作

  (1)比較字符串

equals():區(qū)分字母大小寫 equalIgnoreCase():不區(qū)分大小寫 startWith(String prefix):判斷字符串是否以prefix字符串開始 endsWith(String prefix):判斷字符串是否以prefix字符串結束 startWith(String prefix, int offset):判斷字符串是否從第offset起始位置以prefix字符串開始 compareTo(): 比較兩個字符串,大于返回一個正數(shù),小于返回一個負數(shù),相等返回0

  (2)獲取字符串的長度:str.length()

  (3)字符串的大小寫轉換:str.toLowerCase();???? str.toUpperCase();

  (4)查找字符串

(1)indexOf(int ch):用于獲取指定字符在原字符串中第一次出現(xiàn)的索引。 (2)lastIndexOf (int ch):用于獲取指定字符在原字符串中最后一次出現(xiàn)的索引。 (3)indexOf(String str):用于獲取指定字符串在原字符串中第一次出現(xiàn)的索引。 (4)lastIndexOf(String str):用于獲取指定字符在原字符串中最后一次出現(xiàn)的索引。 (5)indexOf(int ch, int startIndex):用于獲取指定字符在原字符串中指定索引位置開始第一次出現(xiàn)的索引。 (6)lastIndexOf (int ch, int startIndex):用于獲取指定字符在原字符串中指定索引位置開始最后一次出現(xiàn)的索引。 (7)indexOf(String str, int startIndex):用于獲取指定字符串在原字符串中指定索引位置開始第一次出現(xiàn)的索引。 (8)lastIndexOf(String str, int startIndex):用于獲取指定字符在原字符串中指定索引位置開始最后一次出現(xiàn)的索引。

  (5)從現(xiàn)有字符串中截取子字符串

public String substring(int beginIndex) public String substring(int beginIndex, int endIndex)

  (6)去掉字符串的首位空格

public String trim()

  (7)替換字符串中的字符或子串

public String replace(char oldChar, char newChar):替換所有字符 public String replaceAll(String regex, String replacement):替換所有子字符串 public String replaceFirst(String regex, String replacement):替換第一個子字符串

  (8)分割字符串

public String[] split(String regex, int limit) regex:表示分割規(guī)則 limit:表示分割規(guī)則的應用次數(shù),如果limit>0,則得到的String數(shù)組的長度不會大于limit limit為0時,String數(shù)組中位于最后的所有空字符串元素將被丟棄,等價于public String[] split(String regex)

  4.格式化字符串

  (1)兩種format方法

public static String format(String format, Object... args)       // 依據(jù)本地的語言環(huán)境進行格式化 public static String format(Locale locate, String format, Object... args) // 依據(jù)設定的語言環(huán)境locate進行格式化

  5.對象的字符串表示

  (1)如果用來構建對象的類中沒有toString方法,那么就調用默認的Object類中的toString()方法返回“包名.類名@內存的引用地址”

  (2)如果用來構建對象的類中實現(xiàn)了toString()方法,那么就使用這個對象調用這個toString()方法并返回“包名.類名@對象.toString()”

  

  二、StringBuffer類

  StringBuffer類和String類都是用來代表字符串的,但是它們的內部實現(xiàn)方式不同。String類創(chuàng)建的字符串對象是不可修改的,也就是說,String字符串不能修改、刪除或替換字符串中的某個字符。而StringBuffer類創(chuàng)建的字符串對象是可以修改的。

  1.StringBuffer的初始化

StringBuffer s = new StringBuffer(); //初始化的StringBuffer對象是一個空對象 StringBuffer s = new StringBuffer("123"); //初始化的StringBuffer對象不是一個空對象

  2.StringBuffer構造方法

StringBuffer() // 分配給該對象的初始容量可以容納16個字符。當該對象的實體存放的字符序列的長度大于16時,實體的容量自動增加,以便存放所有增加的字符。 StringBuffer(int size) //分配給該對象的初始容量可以容納16個字符。當該對象的實體存放的字符序列的長度大于16時,實體的容量自動增加,以便存放所有增加的字符。 StringBuffer(String s) //分配給該對象的初始容量為參數(shù)字符串s的長度額外在增加16個字符。

  3.常用方法

  (1)追加字符串

使用append方法可以將其他Java類型數(shù)據(jù)轉化為字符串后,再追加到StringBuffer對象中。 StringBuffer append(String s):將一個字符串對象追加到當前StringBuffer對象中,并返回當前StringBuffer對象的引用。 StringBuffer append(int n):將一個int型數(shù)據(jù)轉化為字符串對象后再追加到當前StringBuffer對象中,并返回當前StringBuffer對象的引用。 StringBuffer append(Object o):將一個Object對象o的字符串表示追加到當前StringBuffer對象中,并返回當前StringBuffer對象的引用。 類似的方法還有: StringBuffer append(boolean b)
StringBuffer append(char c)
StringBuffer append(long n)
StringBuffer append(float f)
StringBuffer append(double d)

  (2)獲取單個字符或設置指定字符

public char charAt(int n)
// charAt(int n)用來獲取參數(shù)n指定位置上的單個字符。字符串序列從0開始,即當前對象實體中n的值必須是非負的,并且小于當前對象實體中字符串的序列長度。
public void setCharAt(int n,char ch)
// 用來將當前StringBuffer對象實體中的字符對象位置n處的字符用參數(shù)ch指定的字符替換。n的值必須是非負的,并且小于當前對象實體中字符串序列的長度。

  (3)插入字符串

StringBuffer insert(int index,String str) // 將參數(shù)str指定的字符串插入到參數(shù)index的位置,并返回當前對象的引用。

  (4)反轉字符串

public StringBuffer reverse() // StringBuffer對象使用reverse()方法將該對象實體中的字符翻轉,并返回當前對象的引用

  (5)刪除子字符串或字符

StringBuffer delete(int startIndex,int endIndex) // 用于刪除子字符串。參數(shù)startIndex指定需刪除的第一個字符的下標,而endIndex指定了需刪除的最后一個字符的下一個字符的下標。
// 因此要刪除的子字符串是從startIndex位置開始到endIndex-1的位置結束。
deleteCharAt(int index)方法刪除當前StringBuffer對象實體的字符串中在index位置的字符。

  (6)替換子字符串或字符

StringBuffer replace(int startIndex,int endIndex,String str) // 將當前StringBuffer對象實體中的字符串的一個子字符串用參數(shù)str指定的字符串替換。
// 被替換的子字符串由下標startIndex和endIndex指定,即從starIndex到endIndex-1的字符串被替換。該方法返回當前StringBuffer對象的引用。

  

  三、數(shù)據(jù)緩沖區(qū)

  數(shù)據(jù)緩沖區(qū)是由具有相同類型的數(shù)值構成的數(shù)組,Buffer類是一個抽象類,它的子類包括:ByteBuffer、CharBuffer、DoubleBuffer、IntBuffer、LongBuffer和ShortBuffer。

  注意:StringBuffer類與這些緩沖區(qū)沒有關系。

  最常使用的是ByteBuffer和CharBuffer類,每個緩沖區(qū)的的特征是:

  • 一個容量,它永遠不能改變。
  • 一個讀寫位置,下一個值將在此進行讀寫。
  • 一個界限,超過它進行讀寫是沒有意義的。
  • 一個可選的標記,用于重復一個讀入或讀寫操作。

  這些值滿足下面的條件:0≤標記≤讀寫位置≤界限≤容量。

  常用方法:

Buffer clear():將位置復位到0,并將界限設置到容量,使這個緩沖區(qū)為寫出做好準備 Buffer flip():將界限設置到位置,將位置復位到0,使這個緩沖區(qū)為讀入做好準備 Buffer rewind():將讀寫位置復位到0,并保持界限不變,使這個緩沖區(qū)為重新讀入相同的值做好準備 Buffer mark():將這個緩沖區(qū)的標記設置到讀寫位置 Buffer reset():將這個緩沖區(qū)的位置設置到標記,從而允許被標記的部分可以再次被讀入或寫出 int remaining():返回剩余可讀寫或可寫出值的數(shù)量,即界限與位置之間的差異 int capacity():返回這個緩沖區(qū)的容量 int position():返回這個緩沖區(qū)的位置

?

轉載于:https://www.cnblogs.com/BigJunOba/p/9439660.html

總結

以上是生活随笔為你收集整理的Java基础(三十四)String、StringBuffer类和数据缓冲区Buffer类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。