String類
字符串是常量,創建之後不可改變
字符串字面值存儲再字符串值當中,可以共享
String s = “Hello”;產生一個對象,字符串池中存儲
String s = new String(“Hello”);產生兩個對象,堆、池中各產生一個
常用方法
public char charAt(int index):根據下標獲取字符
public boolean contains(String str):判斷當前字符串中是否含有str
public char[] toCharArray():將字符串轉化爲數組
public int indexOf(String str):查找str首次出現的下標,存在,則返回該下標;不存在則返回-1
public int lastIndexOf(String str):查找str在當前字符串中最後一次出現的下標索引
public int length():返回字符串的長度
public String trim():去掉字符串前後的空格,注意中間的空格不會去掉
public String toUpperCase():將小寫轉化爲大寫
public String toLowerCase():將大寫轉化爲小寫
public boolean endWith(String str):判斷字符串是否以str結尾
public String replace(char oldChar,char newChar):將舊字符替換爲新字符串。(替換內容爲字符串也可以)
public String[] split(String str):根據str來做拆分,作爲拆分的str不會再出現在返回的String數組裏面,所以注意不可以用有用內容來做拆分。
可變字符串
StringBuffer:可變長字符串,JDK1.0提供,運行效率慢,線程安全。
StringBuilder:可變長字符串,JDK5.0提供,運行效率快,線程不安全。
中間變量的JDK優化,自動創建一個StringBuilder緩衝區,在塊空間添加。
BigDecimal
很多實際應用中需要精確計算,而double是近似值存儲,不在符合要求,需要藉助BigDecimal。
位置:java.math包中
作用:精確計算浮點數
創建方式:BigDecimal bd = new BigDecmal(“1.0”);
方法:
BigDecimal add(Bigdecimal bd) 加
BigDecimal subtract(Bigdecimal bd) 減
BigDecimal multiply(Bigdecimal bd) 乘
BigDecimal divide(Bigdecimal bd) 除
注意:如果不能準確的計算出結果時,除法需要再給兩個參數,保留位數和取捨方法。通常採用四捨五入的方法,取值爲BigDecimal.ROUND_HALF_UP
以下是習題-----------------------------------------------------------------------------
- 從命令行上讀入一個字符串,用兩種不同的方法,把該字符串轉換爲一個 int 類型
方法一:把 String 直接轉換爲 int
方法二:把 String 轉換爲 Integer,再把 Integer 轉換爲 int 類型
- (toString,字符串加法)有下面代碼
class Student{
private int age;
private String name;
public Student(){}
public Student(String name, int age){
this.name = name;
this.age = age;
}
public String toString(){
return name + “ ” + age;
} }
public class TestStudent{
public static void main(String args[]){
Student stu1 = new Student(“tom”, 18);
System.out.println(/*1*/);
} }
問:在/1/位置,填入什麼代碼能編譯通過?
A. stu1 + “ ” + 100
B. 100 + “ ” + stu1
C. “ ” + 100 + stu1
D. stu1 + 100 + “ ”
答案:ABC
-
獲取郵箱“[email protected]”中的用戶名”zhengcg”。
-
驗證郵箱“[email protected]”是否是一個合法的郵箱格式。
提示:
I. 郵箱必須包含“@”和“ . ”
II. 最後一個“ . ”的位置必須大於“@”的位置
- 將隨機獲取的 UUID(含義是通用唯一識別碼 Universally Unique Identifier)中的”- ”去掉。
提示:java.util.UUID.randomUUID().toString() //可以獲取隨機 UUID
格式:e6c57443-1667-4d75-98f6-a8863d95e58f
-
在給定的字符串“ABCDEFGhijklmn1234567”中獲取隨機的 4 個字符,並使用 StringBuilder 拼接成字
符串。(隨機獲取到的 4 個字符中可以出現重複字符)
提示:創建隨機數對象 java.util.Random。
java.util.Random random = new java.util.Random();
random.nextInt(100); //可以獲取到 0~99 中任意一個隨機數
-
給定一個由數字組成的字符串
如:“1239586838923173478943890234092”;統計出每個數字出現的次數。