摘要:創建字符串教程字符串長度用于獲取有關對象的信息的方法稱為訪問器方法。類在中被提出,它和之間的最大不同在于的方法不是線程安全的不能同步訪問。然而在應用程序要求線程安全的情況下,則必須使用類。
一般地,當需要使用數字的時候,我們通常使用內置數據類型,如:byte、int、long、double 等。
在實際開發過程中,我們經常會遇到需要使用對象,而不是內置數據類型的情形。為了解決這個問題,Java 語言為每一個內置數據類型提供了對應的包裝類。
所有的包裝類(Integer、Long、Byte、Double、Float、Short)都是抽象類 Number 的子類。
這種由編譯器特別支持的包裝稱為裝箱,所以當內置數據類型被當作對象使用的時候,編譯器會把內置類型裝箱為包裝類。相似的,編譯器也可以把一個對象拆箱為內置類型。Number 類屬于 java.lang 包。
Math 類Java 的 Math 包含了用于執行基本數學運算的屬性和方法,如初等指數、對數、平方根和三角函數。
Math 的方法都被定義為 static 形式,通過 Math 類可以在主函數中直接調用。
public class Test { public static void main (String []args) { System.out.println("90 度的正弦值:" + Math.sin(Math.PI/2)); System.out.println("0度的余弦值:" + Math.cos(0)); System.out.println("60度的正切值:" + Math.tan(Math.PI/3)); System.out.println("1的反正切值: " + Math.atan(1)); System.out.println("π/2的角度值:" + Math.toDegrees(Math.PI/2)); System.out.println(Math.PI); } }Character 類
Character 類用于對單個字符進行操作。
Character 類在對象中包裝一個基本類型 char 的值。
char ch = "a"; // Unicode 字符表示形式 char uniChar = "u039A"; // 字符數組 char[] charArray ={ "a", "b", "c", "d", "e" };
然而,在實際開發過程中,我們經常會遇到需要使用對象,而不是內置數據類型的情況。為了解決這個問題,Java語言為內置數據類型char提供了包裝類Character類。
Character類提供了一系列方法來操縱字符。你可以使用Character的構造方法創建一個Character類對象,例如:
Character ch = new Character("a");
例如,將一個char類型的參數傳遞給需要一個Character類型參數的方法時,那么編譯器會自動地將char類型參數轉換為Character對象。 這種特征稱為裝箱,反過來稱為拆箱。
// 原始字符 "a" 裝箱到 Character 對象 ch 中 Character ch = "a"; // 原始字符 "x" 用 test 方法裝箱 // 返回拆箱的值到 "c" char c = test("x");String 類
字符串廣泛應用 在Java 編程中,在 Java 中字符串屬于對象,Java 提供了 String 類來創建和操作字符串。
創建字符串
String greeting = "Hello教程";
字符串長度
用于獲取有關對象的信息的方法稱為訪問器方法。
String 類的一個訪問器方法是 length() 方法,它返回字符串對象包含的字符數。
下面的代碼執行后,len變量等于14:
public class StringDemo { public static void main(String args[]) { String site = "www.runoob.com"; int len = site.length(); System.out.println( "SF網址長度 : " + len ); } }
連接字符串:
String 類提供了連接兩個字符串的方法:
string1.concat(string2);
更常用的是使用"+"操作符來連接字符串,如:
"Hello," + " runoob" + "!" 結果如下: "Hello, runoob!"
舉例:
public class StringDemo { public static void main(String args[]) { String string1 = "菜鳥教程網址:"; System.out.println("1、" + string1 + "www.runoob.com"); } }格式化字符串
我們知道輸出格式化數字可以使用 printf() 和 format() 方法。
String 類使用靜態方法 format() 返回一個String 對象而不是 PrintStream 對象。
String 類的靜態方法 format() 能用來創建可復用的格式化字符串,而不僅僅是用于一次打印輸出。
System.out.printf("浮點型變量的值為 " + "%f, 整型變量的值為 " + " %d, 字符串變量的值為 " + "is %s", floatVar, intVar, stringVar);StringBuffer,StringBuilder 類
當對字符串進行修改的時候,需要使用 StringBuffer 和 StringBuilder 類。
和 String 類不同的是,StringBuffer 和 StringBuilder 類的對象能夠被多次的修改,并且不產生新的未使用對象。
StringBuilder 類在 Java 5 中被提出,它和 StringBuffer 之間的最大不同在于 StringBuilder 的方法不是線程安全的(不能同步訪問)。
由于 StringBuilder 相較于 StringBuffer 有速度優勢,所以多數情況下建議使用 StringBuilder 類。然而在應用程序要求線程安全的情況下,則必須使用 StringBuffer 類。
public class Test{ public static void main(String args[]){ StringBuffer sBuffer = new StringBuffer("教程官網:"); sBuffer.append("www"); sBuffer.append(".runoob"); sBuffer.append(".com"); System.out.println(sBuffer); } }
結果打印:
教程官網:www.runoob.com
小結:
java 中 StringBuffer 和 String 是有一定的區別的,首先,String 是被 final 修飾的,他的長度是不可變的,就算調用 String 的
concat 方法,那也是把字符串拼接起來并重新創建一個對象,把拼接后的 String 的值賦給新創建的對象,而 StringBuffer 的長度是可變的,調用StringBuffer 的 append 方法,來改變 StringBuffer 的長度,并且,相比較于 StringBuffer,String 一旦發生長度變化,是非常耗費內存的!
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/70821.html
摘要:并沒有對方法進行加同步鎖,所以是非線程安全的。相同情況下使用相比使用僅能獲得左右的性能提升,但卻要冒多線程不安全的風險。水池異常表示程序可以處理的異常,可以捕獲且可能恢復。 一、String, StringBuffer, StringBuilder 1、可變性 (1)String類型是使用一個final修飾的字符數組,因此它是不可變的。 private final char value...
摘要:這兩個操作符都是編譯器默認引入了類,最后都調用方法返回對象,臨時對象被回收,因此效率極為低下 Java String類筆記 聲明 文章均為本人技術筆記,轉載請注明出處https://segmentfault.com/u/yzwall String的不可變性 String的不可變性 // String declaration public final class String ...
摘要:拆箱將包裝類型轉換為基本類型的過程。否則會拋出異常。默認采用單鏈表解決沖突,如果鏈表長度超過,將單鏈表轉換為紅黑樹。內部使用紅黑樹實現,存儲映射。紅黑樹減弱了對平衡的要求,降低了保持樹平衡需要的開銷,在實際應用中,統計性能超過平衡二叉樹。 引言 showImg(https://segmentfault.com/img/bVbv7Mr?w=242&h=410); 在學習《Java編程的邏...
摘要:的構造器經過重載可以接受多種輸出目的地,不過最常用的還是和。組號為表示整個表達式,組號表示被第一對括號括起的組,依此類推。有多個重載的構造器,可以接受和對象。 點擊進入我的博客 字符串操作是計算機程序設計中最常見的行為 13.1 不可變String String底層是由char[]實現的,是不可變的。看起來會改變String的方法,實際上都是創建了一個新的String對象,任何指向它...
摘要:在中,字符串被作為類型的對象處理。所以我們看到上面的程序運行結果中,每個漢字對應兩個字節值,如學對應,而英文字母對應。 字符串 在程序開發中字符串無處不在,如用戶登陸時輸入的用戶名、密碼等使用的就是字符串。 在 Java 中,字符串被作為 String 類型的對象處理。 String 類位于 java.lang 包中。默認情況下,該包被自動導入所有的程序。 String s1 = st...
閱讀 2646·2021-11-18 10:02
閱讀 2291·2021-09-30 09:47
閱讀 1808·2021-09-27 14:01
閱讀 3122·2021-08-16 11:00
閱讀 3174·2019-08-30 11:06
閱讀 2404·2019-08-29 17:29
閱讀 1544·2019-08-29 13:19
閱讀 454·2019-08-26 13:54