JAVA心得隨筆(2)

2021-09-19 10:06:40 字數 2750 閱讀 5663

1、變數定義格式

資料型別 變數名 = 初始化值

注意:格式固定不變

2、資料型別

(1)、基本資料型別(同c)

①數值型:整數型別byte / short / long / int、浮點型別float / double

②字元型:char

③布林型 :boolean

(2)、引用資料型別

①類:class

②介面:inte***ce

③陣列:[ ]

3、stringbuffer類

①與string一樣,也代表字串,但最顯著的區別在於:對於stringbuffer物件的每次修改都會改變物件自身,

所以通常稱string類為***字串常量***,stringbuffer類為***字串變數***。

②由於stringbuffer內部實現方式與string類不同,所以stringbuffer類在進行字串處理是不生成新的物件,在

記憶體上也要優於string類。

##所以在實際使用時,如果經常需要對乙個字串進行修改,如插入、刪除等操作,使用stringbuffer更合適一些##

★4、stringbuffer類與string類的區別

(1)初始化方法的區別:

①string:

/定義和初始化string/

string s1;              ///預設的初始化,s1為乙個空字串。

string s2 = s1; ///s2是s1的副本。

string s3 = "abcd"; ///s3是該字串字面值的副本。

string s4("abcd"); ///等價於s3="abcd",除了字元值最後的那個空字元「\0」。

int n = 10;

string s5(n,'c'); ///s5的內容是cccccccccc,即n個字元c組成的串。

string s6 = "abcd"; ///拷貝初始化,拷貝的字串為"abcd'\0'"。

string s7("abcd"); ///直接初始化,s7的值為"abcd"。

string s8(10,'c'); ///直接初始化,內容為cccccccccc。

②stringbuffer:

stringbuffer s = new stringbuffer();	//初始化乙個空的stringbuffer物件

stringbuffer s = new stringbuffer("abc"); //直接初始化字串內容為abc

(2)stringbuffer與string屬於不同的型別,不能直接進行強制型別轉換!!!

##以下為錯誤**##

stringbuffer s = "abc";		//賦值型別不匹配

stringbuffer s = (stringbuffer)"abc"; //不存在繼承關係,無法強制轉換

##正確轉換方式應為##

string s = "abc";

stringbuffer sb1 = new stringbuffer("123");

stringbuffer sb2 = new stringbuffer(s); //將string轉換為stringbuffer

string s1 = sb1.tostring(); //將stringbuffer轉換為string

stringbuffer sb = new stringbuffer("abc");

則物件sb的值變為"abcture"。

##使用該方法進行字串連線將比string更節省內容,如應用於sql資料庫的連線##

stringbuffer sb = new stringbuffer();

string user = "test";

string pwd = "123";

物件sb的值就是"select * from shool where username=test and pwd=123"。

(2)insert方法

該方法作用是在stringbuffer物件中指定位置插入內容,形成新的字串。

stringbuffer sb = new stringbuffer("testline");

sb.insert(4,false); //在sb索引值為4的位置插入「false」,即"testfalseline"

(3)reserve方法

該方法作用是將stringbuffer物件中的內容反轉,形成新的字串。

stringbuffer sb = new stringbuffer("abc");

sb.reserve();

//則輸出sb結果為「cba」

(4)setcharat方法

該方法作用是修改物件中特定位置字元為新的字元。

stringbuffer sb = new stringbuffer("abc");

sb.setcharat(1,'d');

//輸出sb的值為「adc」

2、system.arraycopy()方法的使用

static string concat(string a, string b)

docker安裝心得隨筆

curl fssl bash s docker mirror aliyun vim etc apt sources.list deb bionic main deb src bionic main deb bionic updates main deb src bionic updates main...

java語法隨筆

執行順序 父類靜態 塊 子類靜態 塊 父類動態 塊 父類構造方法 子類動態 塊 子類構造方法 父類物件指向子類物件,只能呼叫父類中定義的方法,如被重寫,則執行子類的方法,如果呼叫沒有定義的方法,則編譯出錯。class father public father public void test pub...

Java執行緒隨筆

目錄 守護執行緒 執行緒可見性 執行緒時序性 執行緒的中斷機制 基本概念 執行緒引用變數時不能直接從主記憶體中引用,如果執行緒工作記憶體中沒有該變數,則會從主記憶體中拷貝乙個副本到工作記憶體read load,在同一執行緒再度引用該字段時,有可能重新獲取副本,也有可能引用原來的副本read load...