C語言中文網 目錄

Java連接字符串

對于已經定義的字符串,可以對其進行各種操作。連接多個字符串是字符串操作中最簡單的一種。通過字符串連接,可以將兩個或多個字符串、字符、整數和浮點數等類型的數據連成一個更大的字符串。

使用連接運算符

“+”運算符是最簡單、最快捷,也是使用最多的字符串連接方式。在使用“+”運算符連接字符串和 int 型(或 double 型)數據時,“+”將 int(或 double)型數據自動轉換成 String 類型。

例 1

下面的實例使用“+”運算符連接了 3 個數組和 1 個字符串。
public static void main(String[] args)
{
    int[] no=new int[]{501,101,204,102,334};    //定義學號數組
    String[] names=new String[]{"張城","劉麗麗","李國旺","孟紅霞","賀寧"};    //定義姓名數組
    String[] classes=newString[]{"數學","語文","數學","英語","英語"};    //定義課程數組
    System.out.println("本次考試學生信息如下:");
    //循環遍歷數組,連接字符串
    for(int i=0;i<no.length;i++)
    {
        System.out.println("學號:"+no[i]+"|姓名:"+names[i]+"|課程:"+dasses[i]+"|班級:"+"初二(三)班");
    }
}

上述代碼首先創建了 3 個包含有 5 個元素的數組,然后循環遍歷數組,遍歷的次數為 5。在循環體內輸出學號、姓名和課程,并使用“+”運算符連接班級最終形成一個字符串。程序運行后輸出結果如下:
本次考試學生信息如下:
學號:501|姓名:張城|課程:數學|班級:初二(三)班
學號:101|姓名:劉麗麗|課程:語文丨班級:初二(三)班
學號:204|姓名:李國旺|課程:數學|班級:初二(三)班
學號:102|姓名:孟紅霞|課程:英語|班級:初二(三)班
學號:334|姓名:賀寧|課程:英語|班級;初二(三)班

當定義的字符串值的長度過長時,可以分作多行來寫,這樣比較容易閱讀。例如:
String str="Welcome to"+"Beijing"+"歡迎來到"+"北京。"+"北京我的故鄉。";

使用 concat() 方法

Java 中,String 類的 concat() 方法實現了將一個字符串連接到另一個字符串的后面。concat() 方法語法格式如下:
字符串 1.concat(字符串 2);

執行結果是字符串 2 被連接到字符串 1 后面,形成新的字符串。

例 2

如 concat() 方法的語法所示,concat() 方法一次只能連接兩個字符串,如果需要連接多個字符串,需要調用多次 concat() 方法。

下面創建一個實例代碼來演示如何使用 concat() 方法連接多個字符串。
public static void main(String[] args)
{
    String info="三國演義、";
    info=info.concat("西游記、");
    info=info.concat("水漭傳、");
    info=info.concat("紅樓夢");
    System.out.println(info);
    String cn="中國";
    System.out.println(cn.concat("北京").concat("海淀區").concat("人民公園"));
}

執行該段代碼,輸出的結果如下所示。
三國演義、西游記、水滸傳、紅樓夢
中國北京海淀區人民公園

連接其他類型數據

前面介紹的例子都是字符串與字符串進行連接,其實字符串也可同其他基本數據類型進行連接。如果將字符串同這些數據類型數據進行連接,此時會將這些數據直接轉換成字符串。

例 3

編寫一個 Java 程序,實現將字符串與整型、浮點型變量相連并輸出結果。實現代碼如下:
public static void main(String[] args)
{
    String book="三國演義";    //字符串
    int price=59;    //整型變量
    float readtime=2.5f;    //浮點型變量
    System.out.println("我買了一本圖書,名字是:"+book+"\n價格是:"+price+"\n我每天閱讀"+readtime+"小時");
}

上述代碼實現的是將字符串變量 book 與整型變量 price 和浮點型變量 readtime 相連后將結果輸出。在這里定義的 price 和 readtime 都不是字符串,當它們與字符串相連時會自動調用自身的 toString() 方法將其轉換成字符串形式,然后再參與連接運算。因此,程序運行后的結果如下所示:
我買了一本圖書,名字是:三國演義
價格是:59
我每天閱讀2.5小時

假設將本例中的輸出語句修改為如下形式:
System.out.println("我買了一本圖書,名字是:"+book+"\n 價格是:"+price+"\n我每天閱讀"+(price+readtime)+"小時");

因為運算符具有優先級,而圓括號的優先級最高,所以先計算 price 與 readtime 的和,再將結果轉換成字符串進行連接。此時的運行結果如下所示:
我買了一本圖書,名字是:三國演義
價格是:59
我每天閱讀61.5小時

注意:只要“+”運算符的一個操作數是字符串,編譯器就會將另一個操作數轉換成字符串形式,所以應該謹慎地將其他數據類型與字符串相連,以免出現意想不到的結果。

精美而實用的網站,提供C語言C++STLLinuxShellJavaGo語言等教程,以及socketGCCviSwing設計模式JSP等專題。

Copyright ?2011-2018 biancheng.net, 陜ICP備15000209號

底部Logo