java學習第10天


Stirng 類數組

//equalsIgnoreCase  忽略大小寫的內容比較
  String str4 = "helloWorld";
  String str5 = "HELLOworld";
  System.out.println("str4與str5的比較(equals):" + str4.equals(str5));
  System.out.println("str4與str5的比較(equalsIgnoreCase):" +                 str4.equalsIgnoreCase(str5));
結果 str4與str5的比較(equals):false
     str4與str5的比較(equalsIgnoreCase):true安全

-------------------------------app

//int compareTo(String value)
  /*
   *  按字典順序比較兩個字符串。  (每一個字符進行比較,若是第一個相等了,那就比第二...)
   若是兩個字符串相等,則返回 0;
   若是字符串在參數值以前,則返回值小於 0;
   若是字符串在參數值以後,則返回值大於 0
   "A" 比 "a" 小
   */
  String str6 = "A";
  String str7 = "a";
  System.out.println("str6與str7的比較(compareTo):" + str6.compareTo(str7));
  //int compareToIgnoreCase(String val)  //忽略大小寫的比較
  System.out.println("str6與str7的比較(compareToIgnoreCase):" +                 str6.compareToIgnoreCase(str7));
  
結果 str6與str7的比較(compareTo):-32
     str6與str7的比較(compareToIgnoreCase):0測試

-----------------------------------
                startWith((String prefix))測試此字符串是否以指定的前綴開始
  String str8 = "hel1loworld";
  System.out.println("str8是不是startWith():" + str8.startsWith("hello"));
         endWith(String prefix)測試此字符串是否以指定的後綴結束。
  System.out.println("str8是不是endsWith():" + str8.endsWith("world"));ui

結果 str8是不是startWith():false
     str8是不是endsWith():true
-------------------------------------線程

                String str9 = "21510";
  // 返回指定子字符在此字符串中第一次出現處的下標索引。
  System.out.println("str9的indexOf():" + str9.indexOf('1'));
結果  str9的indexOf():1設計

-------------------------------------對象

                String str10 = "hello Worlld";
  //返回的是第一次出現子字符的下標索引,若是未出現該字符,則返回 -1。
  System.out.println("str10的indexOf():" + str10.indexOf("ll"));索引

結果 str10的indexOf():2字符串

------------------------------------

                //public int lastIndexOf(int ch)
  //public int lastIndexOf(String str) 若是未出現該字符,則返回 -1。
  System.out.println("str9的lastIndexOf():" + str9.lastIndexOf('1'));
  System.out.println("str10的lastIndexOf():" + str10.lastIndexOf("ll"));

結果 str9的lastIndexOf():3
     str10的lastIndexOf():9

-----------------------------------
                    //返回指定索引處的 char 值。

                     String str11 = "1510";
       System.out.println("str11的charAt():" + str11.charAt(3));


結果  str11的charAt():0

----------------------------------

                //修改
  //public String substring(int index)
   String str12 = "abcdefgh";
  //從index 這個位置開始截取,到字符串末尾,返回的新的子字符串
  System.out.println("str12的substring():" + str12.substring(3));

結果 str12的substring():defgh
---------------------------------

                 //public String substring(int beginIndex, int endIndex)
  //參數是開始截取的位置,參數是末尾截取的位置,注意,不包括參數2下標
  System.out.println("str12substring()" + str12.substring(3,5))

結果 str12substring()de
---------------------------------
                   //將指定字符串鏈接到此字符串的結尾。
                  //public String concat(String str)      等價於 +
  System.out.println("str12的concat(str11):" + str12.concat(str11));
  

---------------------------------
                //public String replace(char oldChar, char newChar)
  String str13 = "01234567890123";
  //重複的所有進行替換
  System.out.println("str13的replace():" + str13.replace('0','1'));
  System.out.println("str13的replace():" + str13.replace("012", "120"));
  System.out.println("str13的replace():" + str13.replaceAll("012", "120"));
  
結果 
          str13的replace():11234567891123
          str13的replace():12034567891203
          str13的replace():12034567891203
----------------------------------

                //public String trim() 
  String str17 = "     223qewe       qweqw   ";
  System.out.println("str17的trim():" + "-->"+str17+"<---");
  //對字符串先後進行 空格  製表符  回車進行截取
  System.out.println("str17的trim():" + "-->"+str17.trim()+"<---");

結果 str17的trim():-->     223qewe       qweqw   <---
     str17的trim():-->223qewe       qweqw<---
----------------------------------

               // 使用默認語言環境的規則將此 String 中的全部字符都轉換爲大寫
                //public String toUpperCase();
  String str18 = "abcdefghti";
  System.out.println("str18的toUpperCase():" + str18.toUpperCase());
  //public String toLowerCase();
                //使用默認語言環境的規則將此 String 中的全部字符都轉換爲小寫
  String str19 = "ABCDEFGHTI";
  System.out.println("str19的toUpperCase():" + str19.toLowerCase());
  
結果 str18的toUpperCase():ABCDEFGHTI
     str19的toUpperCase():abcdefghti
---------------------------------
使用頻率高的

                //spit
  //根據指定字符進行截取字符串稱爲新的字符串數組
  String str20 = "1,2, 3, 4, 5,6";
  String[] strs = str20.split(",");
  
  for(String st : strs){
   System.out.println(st);
  }
  
結果
1
2
 3
 4
 5
6

--------------------------------------------------------------

StringBuffer 類

           StringBuffer --> 字符串緩衝區(序列滿了 從新改變緩衝區大小)

 

/*
 * 線程安全的可變字符序列。我是一個String,能夠變的字符串
 * StringBuffer
 *
 * StringBuilder
 * 一個可變的字符序列。此類提供一個與 StringBuffer 兼容的 API,但不保證同步。
 * 該類被設計用做 StringBuffer 的一個簡易替換,用在字符串緩衝區被單個線程使用的時候
 * (這種狀況很廣泛)。若是可能,建議優先採用該類,由於在大多數實現中,
 * 它比 StringBuffer 要快。
 *
 * 實際運用中:
 * 若是你的程序不涉及線程安全,建議 StringBuilder
 */
public class StringBufferDemo {
 public static void main(String[] args) {
  StringBuffer sb = new  StringBuffer();
  StringBuilder sb2 = new StringBuilder();
  
  String str1 = "123";
  String str2 = "456";
  String str3 = str1 + str2;
  //方法鏈
  sb.append(str1).append(str2);
  
  sb2.append(str1).append(str2);
  
  
  //StringBuffer insert(int offset, String str)

  sb.insert(2, "x");  //在指定的下中查某個字符串
  System.out.println(sb.toString());
  //void setCharAt(int pos, char ch)
  
  sb.setCharAt(1, 'a');  //替換指定下標的字符
  System.out.println(sb.toString());
  
  //StringBuffer reverse()
  StringBuffer sBuffer = new StringBuffer("0123456789");
  //System.out.println(sBuffer.reverse());
  
  //StringBuffer delete(int start, int end)

  //sBuffer.deleteCharAt(0);  //刪除指定下標的字符
  System.out.println(sBuffer.toString());
  sBuffer.delete(4, 7);  //刪除開始到結束下標的zi字符串,不包結束下標
  System.out.println(sBuffer.toString());
  
  //StringBuffer replace(int start, int end, String s)
  //替換指定開始到結束下標的字符串,若是給定結束下標超過字符長度,
  sBuffer.replace(3, 100, "abcde"); 
  System.out.println(sBuffer.toString());
  
 }
}

結果
12x3456
1ax3456
0123456789
0123789
012abcde
-------------------------------------------------------------

可變參數

//這種新式叫可變參數
 public static void method(int...nums){
  for(int i : nums){
   System.out.println(i);
  }
  System.out.println(nums);  //數組, int 類型
 }

----------
//多個參數時, 可變參數必定要放在最後聲明
 /*public static void method(int...nums, String aa){
  for(int i : nums){
   System.out.println(i);
  }
  System.out.println(nums);  //數組, int 類型
 }*/
-------------------------------------------------------------
Math 類


/*
   Math.ceil();   返回最小的(最接近負無窮大)double 值,該值大於等於參數,並等於某個整數。
  Math.floor(a); 返回最大的(最接近正無窮大)double 值,該值小於等於參數,並等於某個整數
  Math.round(a) 返回最接近參數的 long。//四捨五入
  */

---------------------------------------------------------------

基本數據類型               包裝類     

byte(字節)               Byte
char(字符)               Character
short(短整型)            Short
int(整型)                Integer
long(長整型)             Long
float(浮點型)            Float
double(雙精度)           Double
boolean(布爾)            Boolean


----------------------------------------------------------------

自動裝箱 拆箱

            裝箱  --》將基本數據類型包裝爲對應的包裝類對象

            拆箱  --》將包裝類對象轉換成對應的基本數據類型

 

  //Integer  跟 int 有什麼區別  //Integer 類 它有方法和屬性,功能上Integer 比int更增強大  //Integer 是類,因此它比int 多了一個狀態  null, 直接的運用在數據id/status上  Integer integer2 = 1;    //裝箱    int in = integer;     //拆箱    

相關文章
相關標籤/搜索