Java 中的方法返回給定或指定索引處字符串中字符的值。charAt()char在本文中,我們將了解如何使用該方法,從語法開始,然后通過一些示例/用例。charAt()
如何使用千兆字符() 方法
以下是該方法的語法:charAt()
public char charAt(int index)
請(qǐng)注意,使用該方法從字符串返回的字符具有數(shù)據(jù)類型。我們將在本文后面看到這如何影響返回值的串聯(lián)。charAt()char
現(xiàn)在讓我們看一些例子。
在上面的代碼中,我們的字符串 - 存儲(chǔ)在一個(gè)名為的變量中 - 說“Hello World”。我們使用該方法獲取索引 0 處的字符,即 H。greetingscharAt()
第一個(gè)字符的索引始終為 0,第二個(gè)字符的索引為 1,依此類推。子字符串之間的空間也算作索引。
在下一個(gè)示例中,我們將看到當(dāng)我們嘗試連接返回的不同字符時(shí)會(huì)發(fā)生什么。串聯(lián)意味著將兩個(gè)或多個(gè)值連接在一起(在大多數(shù)情況下,此術(shù)語用于連接字符串中的字符或子字符串)。
使用該方法,我們得到了索引 0、4、9 和 10 處的字符,它們分別是 H、o、l 和 d。charAt()
然后,我們嘗試打印并連接這些字符:。System.out.println(ch1 + ch2 + ch3 + ch4);
但是,我們沒有把“Hold”還給我們,而是得到了391。發(fā)生這種情況是因?yàn)榉祷氐闹挡辉偈亲址菙?shù)據(jù)類型為 。因此,當(dāng)我們連接它們時(shí),解釋器會(huì)添加它們的 ASCII 值。char
H 的 ASCII 值為 72,o 的值為 111,l 的值為 108,d 的值為 100。當(dāng)我們將它們相加時(shí),我們得到391,這是在最后一個(gè)示例中返回的。
字符串索引超出邊界異常錯(cuò)誤
當(dāng)我們傳入的索引號(hào)超過字符串中的字符數(shù)時(shí),我們將在控制臺(tái)中收到字符串索引異常錯(cuò)誤。
此錯(cuò)誤也適用于使用 Java 中不支持的負(fù)索引。在支持負(fù)索引的編程語言(如 Python)中,傳入 -1 將為您提供數(shù)據(jù)集中的最后一個(gè)字符或值,類似于 0 始終返回第一個(gè)字符的方式。
在上面的代碼中,我們傳入了一個(gè)索引 20:這超出了變量中的字符數(shù) - 因此我們收到了一個(gè)錯(cuò)誤。您可以在上面的代碼塊中看到注釋掉的錯(cuò)誤消息。char ch1 = greetings.charAt(20);greetings
同樣,如果我們傳入一個(gè)負(fù)值,如下所示:,我們將得到類似的錯(cuò)誤。char ch1 = greetings.charAt(-1);
在本文中,我們學(xué)習(xí)了如何在 Java 中使用該方法。我們了解了如何根據(jù)字符串中的索引號(hào)返回字符串中的字符,以及連接這些字符時(shí)會(huì)發(fā)生什么。charAt()
最后,我們討論了在Java中使用該方法時(shí)會(huì)得到錯(cuò)誤響應(yīng)的一些實(shí)例。charAt()