日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

第3章 StringBuilder类

發布時間:2025/7/14 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第3章 StringBuilder类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.1 StringBuilder類概述
StringBuilder:是一個可變的字符串。字符串緩沖區類。
String和StringBuilder的區別:
String的內容是固定的
StringBuilder的內容是可變的
1.1.1 +=拼接字符串耗費內存原因:
每次拼接都會產生新的字符串對象,而利用StringBuilder來拼接字符串自始至終用的都是同一個StringBuilder容器

1.2 StringBuilder類的常用方法
A:構造方法:
StringBuilder()
B:成員方法:
public int capacity():返回當前容量 (理論值)
public int length():返回長度(已經存儲的字符個數)
public StringBuilder append(任意類型):添加數據,并返回自身對象
public StringBuilder reverse():反轉功能
1.2.1 案例代碼十三:

package com.itheima_01; /** StringBuilder:是一個可變的字符串。字符串緩沖區類。** String和StringBuilder的區別:* String的內容是固定的。* StringBuilder的內容是可變的。** 構造方法:* StringBuilder()** 成員方法:* public int capacity():返回當前容量* public int length():返回長度(字符數)** 容量:理論值* 長度:實際值*/ public class StringBuilderDemo { public static void main(String[] args) { //創建對象 StringBuilder sb = new StringBuilder(); System.out.println("sb:"+sb); System.out.println("sb.capacity():"+sb.capacity()); System.out.println("sb.length():"+sb.length()); } }

1.2.2 案例代碼十四:

package com.itheima_02; /** 添加功能* public StringBuilder append(任意類型):添加數據,并返回自身對象* 反轉功能* public StringBuilder reverse()*/ public class StringBuilderDemo { public static void main(String[] args) { //創建對象 StringBuilder sb = new StringBuilder(); //public StringBuilder append(任意類型) //StringBuilder sb2 = sb.append("hello"); /* System.out.println("sb:"+sb); System.out.println("sb2:"+sb2); System.out.println(sb == sb2); //true */ /* sb.append("hello"); sb.append("world"); sb.append(true); sb.append(100); */ //鏈式編程 sb.append("hello").append("world").append(true).append(100); System.out.println("sb:"+sb); //public StringBuilder reverse() sb.reverse(); System.out.println("sb:"+sb); } }

1.3 StringBuilder案例1.3.1 案例一需求:
StringBuilder和String通過方法完成相互轉換
1.3.1.1 案例代碼十五:

package com.itheima_03; /** StringBuilder和String的相互轉換** StringBuilder -- String* public String toString():通過toString()就可以實現把StringBuilder轉成String** String -- StringBuilder* StringBuilder(String str):通過構造方法就可以實現把String轉成StringBuilder*/ public class StringBuilderTest { public static void main(String[] args) { //StringBuilder -- String /* StringBuilder sb = new StringBuilder(); sb.append("hello").append("world"); String s = sb.toString(); System.out.println(s); */ //String -- StringBuilder String s = "helloworld"; StringBuilder sb = new StringBuilder(s); System.out.println(sb); } }

1.3.2 案例二需求:
利用StringBuilder把數組拼接成一個字符串
舉例:
int[] arr = {1,2,3};
結果:
[1, 2, 3]
1.3.2.1 案例代碼十六:

package com.itheima_03; /** 把數組拼接成一個字符串* 舉例:* int[] arr = {1,2,3};* 結果:* [1, 2, 3]*/ public class StringBuilderTest2 { public static void main(String[] args) { //定義一個數組 int[] arr = {1,2,3}; //寫方法實現拼接 //調用方法 String s = arrayToString(arr); //輸出結果 System.out.println("s:"+s); } /** 兩個明確:* 返回值類型:String* 參數列表:int[] arr*/ public static String arrayToString(int[] arr) { StringBuilder sb = new StringBuilder(); //[1, 2, 3] sb.append("["); for(int x=0; x<arr.length; x++) { if(x==arr.length-1) { sb.append(arr[x]); }else { sb.append(arr[x]).append(", "); } } sb.append("]"); String result = sb.toString(); return result; } }

1.3.3 案例三需求:
利用StringBuilder完成字符串反轉
1.3.3.1 案例代碼十七:

package com.itheima_03;import java.util.Scanner;/** 把字符串反轉** 分析:* A:鍵盤錄入一個字符串* B:寫方法實現反轉* String -- StringBuilder -- reverse() -- String* C:調用方法* D:輸出結果*/ public class StringBuilderTest3 { public static void main(String[] args) { //鍵盤錄入一個字符串 Scanner sc = new Scanner(System.in); System.out.println("請輸入一個字符串:"); String s = sc.nextLine(); //寫方法實現反轉 //調用方法 String result = myReverse(s); //輸出結果 System.out.println("result:"+result); } /** 兩個明確:* 返回值類型:String* 參數列表:String*/ public static String myReverse(String s) { //String -- StringBuilder -- reverse() -- String StringBuilder sb = new StringBuilder(s); sb.reverse(); String result = sb.toString(); return result; } }

1.3.4 案例四需求:
判斷一個字符串是否是對稱字符串
例如"abc"不是對稱字符串,"aba"、"abba"、"aaa"、"mnanm"是對稱字符串
1.3.4.1 案例代碼十八:

package com.itheima_03; import java.util.Scanner;/** 判斷一個字符串是否是對稱字符串* 例如"abc"不是對稱字符串,"aba"、"abba"、"aaa"、"mnanm"是對稱字符串** 分析:* A:鍵盤錄入一個字符串* B:寫方法實現判斷一個字符串是否是對稱字符串* 把字符串反轉,和反轉前的字符串進行比較,如果內容相同,就說明是對稱字符串* C:調用方法* D:輸出結果*/ public class StringBuilderTest4 { public static void main(String[] args) { //鍵盤錄入一個字符串 Scanner sc = new Scanner(System.in); System.out.println("請輸入一個字符串:"); String s = sc.nextLine(); //寫方法實現判斷一個字符串是否是對稱字符串 //調用方法 boolean b = isSymmetry(s); //輸出結果 System.out.println("b:"+b); } /** 兩個明確:* 返回值類型:boolean* 參數列表:String s*/ public static boolean isSymmetry(String s) { //把字符串反轉,和反轉前的字符串進行比較,如果內容相同,就說明是對稱字符串 StringBuilder sb = new StringBuilder(s); sb.reverse(); String result = sb.toString(); return result.equals(s); } }

轉載于:https://blog.51cto.com/13517854/2089481

總結

以上是生活随笔為你收集整理的第3章 StringBuilder类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。