爲什麼不從第一章開始記錄?
因爲,博主最近在刷“藍橋杯”的算法題,題目中遇到了許多和字符串相關的題目。
比如:要求程序對用戶輸入的串進行處理。具體規則如下:
1. 把每個單詞的首字母變爲大寫。
2. 把數字與字母之間用下劃線字符(_)分開,使得更清晰
3. 把單詞中間有多個空格的調整爲1個空格。
例如:
用戶輸入:you and me what cpp2005program
則程序輸出:You And Me WhatCpp_2005_program
於是,此篇將記錄java中字符串的使用方法以及java中常用類使用。
5.1 String類
何謂字符串?其就是一連串的字符(char),它由許多單個字符連接而成。字符串中可以包含任意字符。Java中定義了String和StringBuffer兩個類來封裝字符串,並提供了一系列操作字符串的方法。它們都位於java.lang包中,因此不需要導包就可以直接使用。
5.1.1 String類的初始化
1.使用字符串常量直接初始化一個String對象
String 變量名 = 字符串
String str1=null; //初始化爲空
String str2=""; //初始化爲空串
String str3="HelloWorld"; //其中HelloWorld爲串str3的內容
2.使用String的構造方法初始化字符串對象
String 變量名 =new String(字符串);
String str1=new String(); //創建一個空的字符串
String str2=new String("NiHao"); //創建一個內容爲NiHao的字符串
char [] charArray =new char[] {'A','B','C'};
String str3=new String(charArray); //創一個內容爲字符數組的字符串
3.String類的常見操作
3.1 字符串的基本操作
String str1=new String("abcdefghijklmncdslasdlasdj");
System.out.println("字符串的長度:"+str1.length());
System.out.println("字符串中第一個字符:"+str1.charAt(0));
System.out.println("字符c的第一次位置:"+str1.indexOf('c'));
System.out.println("字符c最後一次出現的位置:"+str1.lastIndexOf('c'));
System.out.println("子字符串第一次出現的位置:"+str1.indexOf("cd"));
System.out.println("自字符串最後一次出現的位置:"+str1.lastIndexOf("cd"));
3.2 字符串的轉換操作
String str1=new String("abcdefghijklmncdslasdlasdj");
char [] array=str1.toCharArray(); //將字符串轉化爲字符串數組
//for each遍歷array數組
for(char x:array)
{
System.out.print(x+" ");
}
//將int類型的值轉換爲String類型
int num=666;
String str2=String.valueOf(num);
//將字符串轉換成大寫
String str3=str1.toUpperCase();
//將字符串轉換成小寫
String str4=str1.toLowerCase();
3.3 字符串判斷操作
//以下例子涉及的方法返回值都是boolean類型
String str1=new String("abcdefghijklmncdslasdlasdj");
//判斷字符串是否已字符ab開頭
str1.startsWith("ab");
//判斷字符串是否已dj結尾
str1.endsWith("dj");
//判斷字符串是否包含字符串mncd
str1.contains("mncd");
//判斷字符串是否爲空串
str1.isEmpty();
//判斷兩個字符串是否相等
String str2="HelloWorld";
String str3="HelloWorld";
str2.equals(str3);
3.4 字符串截取和分割
String date="2019-11-15";
//從第六個字符截取到末尾的結果
System.out.println(date.substring(5));
//截取第六個字符到第七個字符的內容
System.out.println(date.substring(5,7));
String []strArray=date.split("-");
for(String x:strArray)
{
System.out.println(x);
}
小結
本篇主要介紹了String類的常用操作,如:訪問字符串的長度(length),某個字符(串)出現的第一次位置t及最後一次出現的位置,字符串轉換大小寫和for each快速遍歷字符串值,判斷字符串開頭,結尾是否爲該字符(串)操作以及字符串的截取(subString)和分割(split)。
預告
下篇將介紹StringBuffer類的使用。