Scanner,StringBuffer,String一些點

Scanner

Scanner(用於接收鍵盤錄入數據)
內容太多我挑重點寫

  1. hasNextXxx() 判斷下一個是否是某種類型的元素,其中Xxx可以是Int,Double等。
    如果需要判斷是否包含下一個字符串,則可以省略Xxx
    以hasMextInt()爲例
    在這裏插入圖片描述
    在這裏插入圖片描述
    注:此段代碼裏的字符串若是有非數字字符,就會報錯

String

  1. 什麼是字符串
    字符串是由多個字符組成的一串數據(字符序列)
    字符串可以看成是字符數

  2. 字符串是常量,一旦被創建,就不能被改變。

  3. 常見構造方法
    public String():空構造
    public String(String original):把字符串常量值轉成字符串
    public String(byte[] bytes):把字節數組轉成字符串
    public String(byte[] bytes,int index,int length):把字節數組的一部分轉成字符串(index:表示的是從第幾個索引開始, length表示的是長度)
    public String(char[] value):把字符數組轉成字符串
    public String(char[] value,int index,int count):把字符數組的一部分轉成字符

  4. 我在這裏附上字節轉字符的代碼,這段代碼除了字節轉字符,還進行了截取。
    在這裏插入圖片描述
    在這裏插入圖片描述

  5. 這裏還有比較重要的一個點,講的是String s = new String(“hello”)和String s = “hello”的區別
    下面我以代碼爲例講解
    在這裏插入圖片描述
    在這裏插入圖片描述
    String s = new String(“hello”) 和String s = “hello”,在我的理解裏就是new之後,他們的地址是肯定不同,但是你直接創建一個字符串的話,系統會現在他的字符串集合裏面找有沒有這個字符串,有的話直接拿去用,所以地址是相同的。至於說equals的話在沒被重寫之前比較的也是地址,但在被重寫之後比較的就是字符串的內容。

  6. 講一道習題 :模擬登錄, 給三次機會, 並提示還有幾次。
    在這裏插入圖片描述
    錯誤輸入演示在這裏插入圖片描述
    正確輸入演示在這裏插入圖片描述

  7. 再講一道題:把一個字符串的首字母轉成大寫,其餘爲小寫。(只考慮英文大小寫字母字符)
    我用了幾種不同方法實現
    在這裏插入圖片描述
    在這裏插入圖片描述

  8. 謝一道我做了好久的題,按要求去字符串的空格
    在這裏插入圖片描述
    在這裏插入圖片描述
    這道題主要用到了subString()方法,難點在於第三個,使用了新定義一個空字符,結合for循環將其中的空字符剔除。這裏難點就在於要將字符串中的字符挨個找出來,將空格刪除之後如何將其返回給原字符串,後來就想到了這樣通過空字符串將所有要用的字符拼接起來。

######再寫就太多了,這都是我做起來有問題的題,希望我的總結能有幫助

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