#在千鋒“逆戰”學習第22天#String類、Question9習題

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
在這裏插入圖片描述

以下是習題-----------------------------------------------------------------------------

  1. 從命令行上讀入一個字符串,用兩種不同的方法,把該字符串轉換爲一個 int 類型
    方法一:把 String 直接轉換爲 int
    方法二:把 String 轉換爲 Integer,再把 Integer 轉換爲 int 類型

在這裏插入圖片描述

  1. (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

  1. 獲取郵箱“[email protected]”中的用戶名”zhengcg”。
    在這裏插入圖片描述

  2. 驗證郵箱“[email protected]”是否是一個合法的郵箱格式。
    提示:
    I. 郵箱必須包含“@”和“ . ”
    II. 最後一個“ . ”的位置必須大於“@”的位置

在這裏插入圖片描述

  1. 將隨機獲取的 UUID(含義是通用唯一識別碼 Universally Unique Identifier)中的”- ”去掉。
    提示:java.util.UUID.randomUUID().toString() //可以獲取隨機 UUID
    格式:e6c57443-1667-4d75-98f6-a8863d95e58f

在這裏插入圖片描述

  1. 在給定的字符串“ABCDEFGhijklmn1234567”中獲取隨機的 4 個字符,並使用 StringBuilder 拼接成字
    符串。(隨機獲取到的 4 個字符中可以出現重複字符)
    提示:創建隨機數對象 java.util.Random。
    java.util.Random random = new java.util.Random();
    random.nextInt(100); //可以獲取到 0~99 中任意一個隨機數
    在這裏插入圖片描述

  2. 給定一個由數字組成的字符串
    如:“1239586838923173478943890234092”;統計出每個數字出現的次數。

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章