成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Java學(xué)習(xí)筆記3-Number,String,StringBuilder類

pkhope / 3192人閱讀

摘要:創(chuàng)建字符串教程字符串長度用于獲取有關(guān)對象的信息的方法稱為訪問器方法。類在中被提出,它和之間的最大不同在于的方法不是線程安全的不能同步訪問。然而在應(yīng)用程序要求線程安全的情況下,則必須使用類。

一般地,當(dāng)需要使用數(shù)字的時(shí)候,我們通常使用內(nèi)置數(shù)據(jù)類型,如:byte、int、long、double 等。

在實(shí)際開發(fā)過程中,我們經(jīng)常會(huì)遇到需要使用對象,而不是內(nèi)置數(shù)據(jù)類型的情形。為了解決這個(gè)問題,Java 語言為每一個(gè)內(nèi)置數(shù)據(jù)類型提供了對應(yīng)的包裝類。

所有的包裝類(Integer、Long、Byte、Double、Float、Short)都是抽象類 Number 的子類。

這種由編譯器特別支持的包裝稱為裝箱,所以當(dāng)內(nèi)置數(shù)據(jù)類型被當(dāng)作對象使用的時(shí)候,編譯器會(huì)把內(nèi)置類型裝箱為包裝類。相似的,編譯器也可以把一個(gè)對象拆箱為內(nèi)置類型。Number 類屬于 java.lang 包。

Math 類

Java 的 Math 包含了用于執(zhí)行基本數(shù)學(xué)運(yùn)算的屬性和方法,如初等指數(shù)、對數(shù)、平方根和三角函數(shù)。

Math 的方法都被定義為 static 形式,通過 Math 類可以在主函數(shù)中直接調(diào)用。

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 類用于對單個(gè)字符進(jìn)行操作。
Character 類在對象中包裝一個(gè)基本類型 char 的值。

char ch = "a";
 
// Unicode 字符表示形式
char uniChar = "u039A"; 
 
// 字符數(shù)組
char[] charArray ={ "a", "b", "c", "d", "e" };

然而,在實(shí)際開發(fā)過程中,我們經(jīng)常會(huì)遇到需要使用對象,而不是內(nèi)置數(shù)據(jù)類型的情況。為了解決這個(gè)問題,Java語言為內(nèi)置數(shù)據(jù)類型char提供了包裝類Character類。

Character類提供了一系列方法來操縱字符。你可以使用Character的構(gòu)造方法創(chuàng)建一個(gè)Character類對象,例如:

Character ch = new Character("a");

例如,將一個(gè)char類型的參數(shù)傳遞給需要一個(gè)Character類型參數(shù)的方法時(shí),那么編譯器會(huì)自動(dòng)地將char類型參數(shù)轉(zhuǎn)換為Character對象。 這種特征稱為裝箱,反過來稱為拆箱。

// 原始字符 "a" 裝箱到 Character 對象 ch 中
Character ch = "a";
 
// 原始字符 "x" 用 test 方法裝箱
// 返回拆箱的值到 "c"
char c = test("x");
String 類

字符串廣泛應(yīng)用 在Java 編程中,在 Java 中字符串屬于對象,Java 提供了 String 類來創(chuàng)建和操作字符串。

創(chuàng)建字符串

String greeting = "Hello教程";

字符串長度
用于獲取有關(guān)對象的信息的方法稱為訪問器方法。

String 類的一個(gè)訪問器方法是 length() 方法,它返回字符串對象包含的字符數(shù)。

下面的代碼執(zhí)行后,len變量等于14:

public class StringDemo {
    public static void main(String args[]) {
        String site = "www.runoob.com";
        int len = site.length();
        System.out.println( "SF網(wǎng)址長度 : " + len );
   }
}

連接字符串:

String 類提供了連接兩個(gè)字符串的方法:

string1.concat(string2);

更常用的是使用"+"操作符來連接字符串,如:

"Hello," + " runoob" + "!"
結(jié)果如下:

"Hello, runoob!"

舉例:

public class StringDemo {
    public static void main(String args[]) {     
        String string1 = "菜鳥教程網(wǎng)址:";     
        System.out.println("1、" + string1 + "www.runoob.com");  
    }
}
格式化字符串

我們知道輸出格式化數(shù)字可以使用 printf()format() 方法。

String 類使用靜態(tài)方法 format() 返回一個(gè)String 對象而不是 PrintStream 對象。

String 類的靜態(tài)方法 format() 能用來創(chuàng)建可復(fù)用的格式化字符串,而不僅僅是用于一次打印輸出。

System.out.printf("浮點(diǎn)型變量的值為 " +
                  "%f, 整型變量的值為 " +
                  " %d, 字符串變量的值為 " +
                  "is %s", floatVar, intVar, stringVar);
StringBuffer,StringBuilder 類

當(dāng)對字符串進(jìn)行修改的時(shí)候,需要使用 StringBuffer 和 StringBuilder 類。

和 String 類不同的是,StringBuffer 和 StringBuilder 類的對象能夠被多次的修改,并且不產(chǎn)生新的未使用對象。

StringBuilder 類在 Java 5 中被提出,它和 StringBuffer 之間的最大不同在于 StringBuilder 的方法不是線程安全的(不能同步訪問)。

由于 StringBuilder 相較于 StringBuffer 有速度優(yōu)勢,所以多數(shù)情況下建議使用 StringBuilder 類。然而在應(yīng)用程序要求線程安全的情況下,則必須使用 StringBuffer 類。

public class Test{
  public static void main(String args[]){
    StringBuffer sBuffer = new StringBuffer("教程官網(wǎng):");
    sBuffer.append("www");
    sBuffer.append(".runoob");
    sBuffer.append(".com");
    System.out.println(sBuffer);  
  }
}

結(jié)果打?。?/p>

教程官網(wǎng):www.runoob.com

小結(jié):

java 中 StringBuffer 和 String 是有一定的區(qū)別的,首先,String 是被 final 修飾的,他的長度是不可變的,就算調(diào)用 String 的
concat 方法,那也是把字符串拼接起來并重新創(chuàng)建一個(gè)對象,把拼接后的 String 的值賦給新創(chuàng)建的對象,而 StringBuffer 的長度是可變的,調(diào)用StringBuffer 的 append 方法,來改變 StringBuffer 的長度,并且,相比較于 StringBuffer,String 一旦發(fā)生長度變化,是非常耗費(fèi)內(nèi)存的!

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/70821.html

相關(guān)文章

  • Java基礎(chǔ)知識學(xué)習(xí)筆記(1)

    摘要:并沒有對方法進(jìn)行加同步鎖,所以是非線程安全的。相同情況下使用相比使用僅能獲得左右的性能提升,但卻要冒多線程不安全的風(fēng)險(xiǎn)。水池異常表示程序可以處理的異常,可以捕獲且可能恢復(fù)。 一、String, StringBuffer, StringBuilder 1、可變性 (1)String類型是使用一個(gè)final修飾的字符數(shù)組,因此它是不可變的。 private final char value...

    Leck1e 評論0 收藏0
  • Java String筆記

    摘要:這兩個(gè)操作符都是編譯器默認(rèn)引入了類,最后都調(diào)用方法返回對象,臨時(shí)對象被回收,因此效率極為低下 Java String類筆記 聲明 文章均為本人技術(shù)筆記,轉(zhuǎn)載請注明出處https://segmentfault.com/u/yzwall String的不可變性 String的不可變性 // String declaration public final class String ...

    Vicky 評論0 收藏0
  • Java基礎(chǔ)(筆記)

    摘要:拆箱將包裝類型轉(zhuǎn)換為基本類型的過程。否則會(huì)拋出異常。默認(rèn)采用單鏈表解決沖突,如果鏈表長度超過,將單鏈表轉(zhuǎn)換為紅黑樹。內(nèi)部使用紅黑樹實(shí)現(xiàn),存儲映射。紅黑樹減弱了對平衡的要求,降低了保持樹平衡需要的開銷,在實(shí)際應(yīng)用中,統(tǒng)計(jì)性能超過平衡二叉樹。 引言 showImg(https://segmentfault.com/img/bVbv7Mr?w=242&h=410); 在學(xué)習(xí)《Java編程的邏...

    PrototypeZ 評論0 收藏0
  • Java編程思想》筆記13.字符串

    摘要:的構(gòu)造器經(jīng)過重載可以接受多種輸出目的地,不過最常用的還是和。組號為表示整個(gè)表達(dá)式,組號表示被第一對括號括起的組,依此類推。有多個(gè)重載的構(gòu)造器,可以接受和對象。 點(diǎn)擊進(jìn)入我的博客 字符串操作是計(jì)算機(jī)程序設(shè)計(jì)中最常見的行為 13.1 不可變String String底層是由char[]實(shí)現(xiàn)的,是不可變的??雌饋頃?huì)改變String的方法,實(shí)際上都是創(chuàng)建了一個(gè)新的String對象,任何指向它...

    since1986 評論0 收藏0
  • JAVA學(xué)習(xí)之路 (八)字符串

    摘要:在中,字符串被作為類型的對象處理。所以我們看到上面的程序運(yùn)行結(jié)果中,每個(gè)漢字對應(yīng)兩個(gè)字節(jié)值,如學(xué)對應(yīng),而英文字母對應(yīng)。 字符串 在程序開發(fā)中字符串無處不在,如用戶登陸時(shí)輸入的用戶名、密碼等使用的就是字符串。 在 Java 中,字符串被作為 String 類型的對象處理。 String 類位于 java.lang 包中。默認(rèn)情況下,該包被自動(dòng)導(dǎo)入所有的程序。 String s1 = st...

    aaron 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<