2016-04-28 72 views
1

您好,我想了解Enchanced for loops和Strings。Enchanced for Loop for a String

,所以我知道,對於整數for循環是這樣:

public static void main(String args[]){ 
int[] squares = {0,1,3,4,5} 
for(int i = 0; i < squares.length; i++) 

,你可以按照如下

for (int i : squares) 

使其增強循環,但我想知道如何做到既正則for循環和加緊循環的字符串?

+1

什麼你想要迭代?數組中的字符串或多個字符串的字符?另外,在Java 8+中,您可以使用「Stream」。 –

回答

4

增強for循環只適用於可迭代的類型,或者如果類型的對象是數組。

你不能這樣做因爲字符串不是一個Iterable類型。

你可以做的是,從獲取字符串中的字符數組,它遍歷作爲

for (char c : str.toCharArray()) { 


} 

如果它是一個字符串數組,你可以簡單地改變你的數據類型爲字符串。

+0

所以你會發布將字符串更改爲字符數組? – fijilemon12

+0

它不會改變字符串,只是爲了循環的目的,你正在做它。 –

-1

以非常相似的方式:

String[] names = {"John","Jack","Bob","Tracey","Cindy"}; 
for(int i = 0; i < names.length; i++) { 
    System.out.println(names[i]); 
} 

所謂的增強:

String[] names = {"John","Jack","Bob","Tracey","Cindy"};  
for (String i : names) { 
    System.out.println(i); 
} 
+0

而反對票是.... – DevilsHnd

+0

非常感謝! – fijilemon12

+0

非常歡迎;) – DevilsHnd

0

是,在問候的Java的語言,絕對是可以做到的。

  • 首先聲明並初始化名爲「name」的String數組。

    String[] names = {"Bob","Jane","Joe"}; 
    
  • 然後使用Enchanced環路

    for(String i: names) 
        System.out.println(i); 
    
  • 然後使用定期for循環

    for(int i=0; i<names.length; i++) 
        System.out.println(names[i]); 
    
  • 生產將是爲每個完全相同的結果循環:

    Bob 
    Jane 
    Joe 
    

下面是完整的碼,按上述。嘗試一下,它會工作:

public static void main(String[] args) { 

     String[] names = {"Bob","Jane","Joe"}; 

     for(String i: names) 
      System.out.println(i); 

     for(int i=0; i<names.length; i++) 
      System.out.println(names[i]);  
    }