一文詳解Java中字符串的基本操作
一、遍歷字符串案例
需求:鍵盤錄入一個字符串,使用程序?qū)崿F(xiàn)在控制臺遍歷該字符串
思路:
1、鍵盤錄入一個字符串,用 Scanner 實現(xiàn)
2、遍歷字符串,首先要能夠獲取到字符串中的每一個字符
public char charAt(int index):返回指定索引處的char值,字符串的索引也是從0開始的
3、遍歷字符串,其次要能夠獲取到字符串的長度
public int length():返回此字符串的長度
數(shù)組的長度:數(shù)組名.length
字符串的長度:字符串對象.length()
4、遍歷字符串的通用格式
代碼實現(xiàn):
public class StringTest02 { public static void main(String[] args) { //鍵盤錄入一個字符串,用 Scanner 實現(xiàn) Scanner sc = new Scanner(System.in); System.out.println("請輸入一個字符串:"); String line = sc.nextLine(); for(int i=0; i<line.length(); i++) { System.out.println(line.charAt(i)); } } }
二、統(tǒng)計字符次數(shù)案例
需求:鍵盤錄入一個字符串,統(tǒng)計該字符串中大寫字母字符,小寫字母字符,數(shù)字字符出現(xiàn)的次數(shù)(不考慮其他字符)
思路:
1、鍵盤錄入一個字符串,用 Scanner 實現(xiàn)
2、要統(tǒng)計三種類型的字符個數(shù),需定義三個統(tǒng)計變量,初始值都為0
3、遍歷字符串,得到每一個字符
4、判斷該字符屬于哪種類型,然后對應(yīng)類型的統(tǒng)計變量+1
假如ch是一個字符,我要判斷它屬于大寫字母,小寫字母,還是數(shù)字,直接判斷該字符是否在對應(yīng)的范圍即可
大寫字母:ch>='A' && ch<='Z'
小寫字母: ch>='a' && ch<='z'
數(shù)字: ch>='0' && ch<='9'
5、輸出三種類型的字符個數(shù)
代碼實現(xiàn):
public class StringTest03 { public static void main(String[] args) { //鍵盤錄入一個字符串,用 Scanner 實現(xiàn) Scanner sc = new Scanner(System.in); System.out.println("請輸入一個字符串:"); String line = sc.nextLine(); //要統(tǒng)計三種類型的字符個數(shù),需定義三個統(tǒng)計變量,初始值都為0 int bigCount = 0; int smallCount = 0; int numberCount = 0; //遍歷字符串,得到每一個字符 for(int i=0; i<line.length(); i++) { char ch = line.charAt(i); //判斷該字符屬于哪種類型,然后對應(yīng)類型的統(tǒng)計變量+1 if(ch>='A' && ch<='Z') { bigCount++; } else if(ch>='a' && ch<='z') { smallCount++; } else if(ch>='0' && ch<='9') { numberCount++; } } //輸出三種類型的字符個數(shù) System.out.println("大寫字母:" + bigCount + "個"); System.out.println("小寫字母:" + smallCount + "個"); System.out.println("數(shù)字:" + numberCount + "個"); } }
三、字符串拼接案例
需求:定義一個方法,把int數(shù)組中的數(shù)據(jù)按照指定的格式拼接成一個字符串返回,調(diào)用該方法,并在控制臺輸出結(jié)果。例如,數(shù)組int[] arr = {1,2,3};,執(zhí)行方法后的輸出結(jié)果為:[1,2,3]
思路:
1、定義一個 int 類型的數(shù)組,用靜態(tài)初始化完成數(shù)組元素的初始化
2、定義一個方法,用于把 int 數(shù)組中的數(shù)據(jù)按照指定格式拼接成一個字符串返回。
返回值類型 String,參數(shù)列表 int[] arr
3、在方法中遍歷數(shù)組,按照要求進行拼接
4、調(diào)用方法,用一個變量接收結(jié)果
5、輸出結(jié)果
代碼實現(xiàn):
public class StringTest04 { public static void main(String[] args) { //定義一個 int 類型的數(shù)組,用靜態(tài)初始化完成數(shù)組元素的初始化 int[] arr = {1, 2, 3}; //調(diào)用方法,用一個變量接收結(jié)果 String s = arrayToString(arr); //輸出結(jié)果 System.out.println("s:" + s); } //定義一個方法,用于把 int 數(shù)組中的數(shù)據(jù)按照指定格式拼接成一個字符串返回 /* 兩個明確: 返回值類型:String 參數(shù):int[] arr */ public static String arrayToString(int[] arr) { //在方法中遍歷數(shù)組,按照要求進行拼接 String s = ""; s += "["; for(int i=0; i<arr.length; i++) { if(i==arr.length-1) { s += arr[i]; } else { s += arr[i]; s += ", "; } } s += "]"; return s; } }
四、字符串反轉(zhuǎn)案例
需求:定義一個方法,實現(xiàn)字符串反轉(zhuǎn)。鍵盤錄入一個字符串,調(diào)用該方法后,在控制臺輸出結(jié)果
例如,鍵盤錄入abc,輸出結(jié)果cba
思路:
1、鍵盤錄入一個字符串,用 Scanner 實現(xiàn)
2、定義一個方法,實現(xiàn)字符串反轉(zhuǎn)。返回值類型 String,參數(shù) String s
3、在方法中把字符串倒著遍歷,然后把每一個得到的字符拼接成一個字符串并返回
4、調(diào)用方法,用一個變量接收結(jié)果
5、輸出結(jié)果
代碼實現(xiàn):
public class StringTest05 { public static void main(String[] args) { //鍵盤錄入一個字符串,用 Scanner 實現(xiàn) Scanner sc = new Scanner(System.in); System.out.println("請輸入一個字符串:"); String line = sc.nextLine(); //調(diào)用方法,用一個變量接收結(jié)果 String s = reverse(line); //輸出結(jié)果 System.out.println("s:" + s); } //定義一個方法,實現(xiàn)字符串反轉(zhuǎn) /* 兩個明確: 返回值類型:String 參數(shù):String s */ public static String reverse(String s) { //在方法中把字符串倒著遍歷,然后把每一個得到的字符拼接成一個字符串并返回 String ss = ""; for(int i=s.length()-1; i>=0; i--) { ss += s.charAt(i); } return ss; } }
五、幫助文檔查看String常用方法
方法名 | 說明 |
public boolean equals(Object anObject) | 比較字符串的內(nèi)容,嚴格區(qū)分大小寫(用戶名和密碼) |
public char charAt(int index) | 返回執(zhí)行索引處的char值 |
public int length() | 返回此字符串的長度 |
到此這篇關(guān)于一文詳解Java中字符串的基本操作的文章就介紹到這了,更多相關(guān)Java字符串內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
sentinel整合ribbon與fallback流程分步講解
這篇文章主要介紹了sentinel整合ribbon與fallback分步流程,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08利用線程實現(xiàn)動態(tài)顯示系統(tǒng)時間
編寫Applet小程序,通過在HTML文檔中接收參數(shù),顯示當(dāng)前的系統(tǒng)時間,需要的朋友可以參考下2015-10-10java本機內(nèi)存分配Native?memory?allocation?mmap失敗問題解決
這篇文章主要介紹了java本機內(nèi)存分配Native?memory?allocation?mmap失敗問題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-11-11Spring Security整合Oauth2實現(xiàn)流程詳解
這篇文章主要介紹了Spring Security整合Oauth2實現(xiàn)流程詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-08-08Mybatis如何通過接口實現(xiàn)sql執(zhí)行原理解析
為了簡化MyBatis的使用,MyBatis提供了接口方式自動化生成調(diào)用過程,可以大大簡化MyBatis的開發(fā),下面這篇文章主要給大家介紹了關(guān)于Mybatis如何通過接口實現(xiàn)sql執(zhí)行原理解析的相關(guān)資料,需要的朋友可以參考下2023-01-01解決idea 通過build project 手動觸發(fā)熱部署失敗的問題
在debug運行項目的過程中,并且保證(不添加方法,不修改方法名)一定的規(guī)則的情況下,可以通過build project 來手動熱部署項目,本文給大家介紹解決idea 通過build project 手動觸發(fā)熱部署失敗的問題,感興趣的朋友一起看看吧2023-12-12Java中dubbo+zookeeper微服務(wù)架構(gòu)簡介
Apache Dubbo是一款高性能的 Java RPC 框架,這篇文章主要介紹了Java中dubbo+zookeeper微服務(wù)架構(gòu),需要的朋友可以參考下2021-09-09