烏托邦漂流者的Java學習筆記12

johnchou發表於2021-09-09

不知道說啥。。。
字串:
字串被作為 String 型別的物件處理。 String 類位於 java.lang 包中。預設情況下,該包被自動匯入所有的程式。
字串不變性:字串不能被修改,所謂修改其實是新開闢了一塊內訓空間,建立後是不可變的。
每次 new 一個字串就是產生一個新的物件,即便兩個字串的內容相同,使用 ”==” 比較時也為 ”false” ,如果只需比較內容是否相同,應使用 ”equals()” 方法
圖片描述

  1. 字串 str 中字元的索引從0開始,範圍為 0 到 str.length()-1
  2. 使用 indexOf 進行字元或字串查詢時,如果匹配返回位置索引;如果沒有匹配結果,返回 -1
  3. 使用 substring(beginIndex , endIndex) 進行字串擷取時,包括 beginIndex 位置的字元,不包括 endIndex 位置的字元
    針對如此繁雜的方法,推薦大家一個學習技巧:好記性不如爛筆頭!多看的同時一定要多敲哦~~
public class Str {
    public static void main(String[] args) {
        String str="學習 Java 程式設計";
        System.out.println("字串長度為"+str.length());
        char c='編';
        System.out.println("字元‘編’的位置"+str.indexOf(c));
        String ch="immoc";
        System.out.println("字串immoc的位置為"+str.indexOf(ch));
        String ch2="Java";
        System.out.println("字串java的位置為"+str.indexOf(ch2));
        String[] arr=str.split(" ");
        System.out.println("空格將字串分割為"+Arrays.toString(arr));
        System.out.println("獲取3.7.之間的字串"+str.substring(3,7));
    }
}

執行結果為:
圖片描述

import java.util.Arrays;
public class HelloWorld {
    public static void main(String[] args) {
        // Java檔名
        String fileName = "HelloWorld.java"; 
        // 郵箱
        String email = "laurenyang@imooc.com";

        // 判斷.java檔名是否正確:合法的檔名應該以.java結尾
        /*
        參考步驟:
        1、獲取檔名中最後一次出現"."號的位置
        2、根據"."號的位置,獲取檔案的字尾
        3、判斷"."號位置及檔案字尾名
        */
        //獲取檔名中最後一次出現"."號的位置
        int index = fileName.lastIndexOf('.');

        // 獲取檔案的字尾
        String prefix =fileName.substring(index);

        // 判斷必須包含"."號,且不能出現在首位,同時字尾名為"java"
        if ( index!=0&&index!=-1&&prefix==".java" ) {
            System.out.println("Java檔名正確");
        } else {
            System.out.println("Java檔名無效");
        }

        // 判斷郵箱格式是否正確:合法的郵箱名中至少要包含"@", 並且"@"是在"."之前
         /*
        參考步驟:
        1、獲取檔名中"@"符號的位置
        2、獲取郵箱中"."號的位置
        3、判斷必須包含"@"符號,且"@"必須在"."之前
        */
        // 獲取郵箱中"@"符號的位置
        int index2 = email.indexOf('@');

        // 獲取郵箱中"."號的位置
        int index3 = email.indexOf('.');

        // 判斷必須包含"@"符號,且"@"必須在"."之前
        if (index2 != -1 && index3 > index2) {
            System.out.println("郵箱格式正確");
        } else {
            System.out.println("郵箱格式無效");
        }
    }
}
public static void main(String[] args) {
    String str = "學習 Java 程式設計";
    System.out.println("轉換為小寫"+str.toLowerCase());
    System.out.println("轉換為大寫"+str.toUpperCase());
    System.out.println("位置為一的字元:"+str.charAt(1));
    String str2 =new String("學習 Java 程式設計");
    System.out.println("比較字串內容是否相同"+str.equals(str2));
    System.out.println("比較字串記憶體地址是否相同"+(str==str2));
    byte[] b=str.getBytes();
    for(int i=0;i

StringBuilder:操作修改了 str 物件的值,而沒有建立新的物件,這就是 StringBuilder 和 String 最大的區別。
提供的方法:
圖片描述

public static void main(String[] args) {
    StringBuilder str = new StringBuilder("Hello");
    str.append(" immoc");
    str.append(520);
    System.out.println("長度為"+str.length());
    System.out.println("插入前為:"+str);
    str.insert(11,'!');
    System.out.println("插入後為: "+str);
    str.toString();
}

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4422/viewspace-2798449/,如需轉載,請註明出處,否則將追究法律責任。

相關文章