一文詳解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é)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧2022-08-08
利用線程實現(xiàn)動態(tài)顯示系統(tǒng)時間
編寫Applet小程序,通過在HTML文檔中接收參數(shù),顯示當前的系統(tǒng)時間,需要的朋友可以參考下2015-10-10
java本機內(nèi)存分配Native?memory?allocation?mmap失敗問題解決
這篇文章主要介紹了java本機內(nèi)存分配Native?memory?allocation?mmap失敗問題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-11-11
Spring Security整合Oauth2實現(xiàn)流程詳解
這篇文章主要介紹了Spring Security整合Oauth2實現(xiàn)流程詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友可以參考下2020-08-08
Mybatis如何通過接口實現(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-12
Java中dubbo+zookeeper微服務(wù)架構(gòu)簡介
Apache Dubbo是一款高性能的 Java RPC 框架,這篇文章主要介紹了Java中dubbo+zookeeper微服務(wù)架構(gòu),需要的朋友可以參考下2021-09-09

