JAVA 基礎5-字串

來源:互聯網
上載者:User

標籤:har   靜態方法   cte   mil   一個   作用   拆箱   刪除   變數範圍   

一.字串定義

直接定義:String str1 = "abc" ;String str2 = "abc"  ;,

建立一個新字串:String str3 = new String(); String str4 = new String();

字串類型是一種參考型別,所定義的變數是對象,寫法同物件導向。

注意:str1 == str2 傳回值是true,原因為abc這個值在記憶體的常量池中,當再次定義時如值相同則str1和str2都指向同一個值。

   str3 == str4 傳回值是false,原因為使用了new,則在記憶體中建立了兩個空間,str3和str4分別指向不同的對象。

   String str3 = new String("abc") 相當於String str3 = "abc", 但底層運行機制不同。

   String str1 = null 和String str2 = "" 意思不一樣,第一個沒有任何指向,第二個指向為空白。

二.字串串連

每個字串之間用"+"相連,與其他資料類型串連時,串連之後的傳回值是字串。

三.常用字串操作方法

  String str = "abc"; String str2 = "abc"

  • str.equals(str2); // 比較兩個字串的值是否相等;( ==在用於非基礎資料類型時是指比較兩個變數指向的地址是否相同,equals 比較兩個對象的值是否相等)
  • str.length();// 擷取整個字串的長度;
  • str.trim();// 去掉字串兩邊的空格;
  • str.charAt(int i);// 擷取某個索引值上的字元;
  • str.contains(CharSequence ab);// 是否包含某個字串 ;CharSequence 字元序列
  • str.startsWith(String ab); // 判斷是否以某個字串開始;
  • str.endsWith(String ab); // 判斷是否以某個字串結尾;
  • str.replace(char a, char e); // 將字串中所有的a替換成e;
  • str.replace(CharSequence ab, CharSequence aa);//  將字串中所有的ab替換成aa;
  • str.split(String s); // 分割字串;將字串以s進行分割,傳回值是數組;
  • str.toUpperCase(); // 將字串轉換成大寫
  • str.toLowerCase(); // 轉換成小寫
  • str.indexOf(String ab);//取這個字串第一次出現的索引位置
  • str.lastIndexOf(String s);//取這個字串最後一次出現的索引位置
  • str.substring(int i);//取索引值為這個整數參數後面的字串
  • str.substring(int i, int j);//取i和j之間的字串(不包括j)
  • String.valueOf(any args); // 把任意參數轉換成字串;是對類的方法,屬於靜態方法。

四.常用字串緩衝區操作方法(主要用來構建字串)

傳回值一般為StringBuffer 可以進行類的連貫操作,但不建議。

  StringBuffer buffer = new Stringbuffer("abc")

  • buffer.append(String 123); // 追加一個字串;
  • buffer.insert(int 1, String 123); // 在某個索引位置插入一個字串;輸出為a123bc
  • buffer.deleteCharAt(int index);// 刪除在某個索引位置的字元;
  • buffer.delete(int start, int end);//刪除兩個索引之間的字元;
  • buffer.replace(int start, int end, String s);//替換兩個索引之間的字元;
  • buffer.setCharAt(int index, char ch);設定某個索引位置上的字元;
  • buffer.toString();把字串緩衝轉換成字串;在列印輸出時預設調用此方法;
  • buffer.reverse() // 反轉字串

注意:字串與字串緩衝區別在於字串是常量,無法更改,當進行操作時其效率遠低於使用字串緩衝;

五.System類

  • System.currentTimeMillis() ;// 返回當前的系統時間(以時間戳記的形式)
  • System.exit(0);//退出當前正在啟動並執行java虛擬機器, 0表示正常退出,其他都是不正常退出,一般用-1,表示整個都不運行了。
  • System.gc();//手動啟動記憶體回收機制;JAVA裡自動啟動記憶體回收機制,超出變數範圍的對象, 會及時的被記憶體回收機制回收。不推薦手動調用此方法(降低程式運行效率),此方法會自動調用finalize方法。
  • System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length);//數組的複製;分別指複製來源名,來源開始複製索引位置,複製目標名,目標開始複製索引位置,複製長度。

六.數字封裝類

自動裝箱:

基礎資料類型不能等於null,將其進行封裝便可以,每一個基礎資料類型都有自己的封裝類。

int 對應Integar;char 對應character;其他都是首字母大寫例: long對應Long;封裝後是一種對象,可以等於null。

Integar i = 2;此段代碼讓程式完成了對變數i的自動裝箱;

自動拆箱:

  • Integar.parseInt("123");//將字串123轉換成數字123;如果字串中有非數字字元則會報錯;
  • Integer.parseInt(String s, int radix); // 將其他進位的字串轉換成int;逗號後面寫被轉換的進位,如寫16則是將16進位的字串轉化為10進位;radix:基數;
  • Integer.toBinaryString(int i); // 將一個int值轉換成二進位的字串
  • Integer.toOctalString(int i); // 將一個int轉換成八進位的字串
  • Integer.toHexString(int i); // 將一個int轉換成16進位的字串

 

JAVA 基礎5-字串

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.