Scanner
Scanner(用於接收鍵盤錄入數據)
內容太多我挑重點寫
- hasNextXxx() 判斷下一個是否是某種類型的元素,其中Xxx可以是Int,Double等。
如果需要判斷是否包含下一個字符串,則可以省略Xxx
以hasMextInt()爲例
注:此段代碼裏的字符串若是有非數字字符,就會報錯
String
-
什麼是字符串
字符串是由多個字符組成的一串數據(字符序列)
字符串可以看成是字符數 -
字符串是常量,一旦被創建,就不能被改變。
-
常見構造方法
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):把字符數組的一部分轉成字符 -
我在這裏附上字節轉字符的代碼,這段代碼除了字節轉字符,還進行了截取。
-
這裏還有比較重要的一個點,講的是String s = new String(“hello”)和String s = “hello”的區別
下面我以代碼爲例講解
String s = new String(“hello”) 和String s = “hello”,在我的理解裏就是new之後,他們的地址是肯定不同,但是你直接創建一個字符串的話,系統會現在他的字符串集合裏面找有沒有這個字符串,有的話直接拿去用,所以地址是相同的。至於說equals的話在沒被重寫之前比較的也是地址,但在被重寫之後比較的就是字符串的內容。 -
講一道習題 :模擬登錄, 給三次機會, 並提示還有幾次。
錯誤輸入演示
正確輸入演示 -
再講一道題:把一個字符串的首字母轉成大寫,其餘爲小寫。(只考慮英文大小寫字母字符)
我用了幾種不同方法實現
-
謝一道我做了好久的題,按要求去字符串的空格
這道題主要用到了subString()方法,難點在於第三個,使用了新定義一個空字符,結合for循環將其中的空字符剔除。這裏難點就在於要將字符串中的字符挨個找出來,將空格刪除之後如何將其返回給原字符串,後來就想到了這樣通過空字符串將所有要用的字符拼接起來。
######再寫就太多了,這都是我做起來有問題的題,希望我的總結能有幫助