2014-01-17 3 views
-5

내 친구가이 코드 조각을 보냈지 만 작동하지만, "ss"의 의미를 이해할 수 없습니까? 누구든지 나를 도울 수 있습니까? 감사.Java for 루프 구문?

public static void main(String[] args) 
{ 
    String sentence; 
    int index=1; 
    String[] words; 

    System.out.print("Please enter a sentence: "); 
    sentence = EasyIn.getString(); 

    words = sentence.split(" "); 

    for(String ss : words) 
    { 
     System.out.println("Word "+index+ " is "+ ss); 

     if(ss.matches("[a-zA-Z]+")) 
     { 
      System.out.println("Word "+ss+" is a good word"); 
      System.out.print("\n"); 
     } 
     else 
     { 
      System.out.println("Word "+ss+" is a bad word"); 
      System.out.print("\n"); 
     } 
     index++; 
    } 
} 
+0

'ss'는'String' 변수 에서처럼? –

+4

'for-each' 루프를 검색하십시오. –

+1

[Java 자습서 :'for 문] (http://docs.oracle.com/javase/tutorial/java/nutsandbolts/for.html) – Jesper

답변

3

이것은 루프

for(String ss : words) 

이며 말한다 : words의 모든 요소에 대해, 임시 요소 (String) ss 전화를 만들 수 있습니다. 즉, words에있는 모든 요소를 ​​단계별로 실행하고이 단일 루프에 대해 ss으로 전화를 걸어 다음 단계로 넘어갑니다.

1

코드에 사용 된 ss 변수는 for 루프의 일부입니다. ss는 단어 모음의 각 단일 문자열을 나타냅니다. for 루프 작동에 대한 Java 언어 자습서를 참조 할 수 있습니다.

1

코드 :

for(String ss : words) { 
    // ... 
} 

은 자바 인 피 각 루프 집합 또는 배열 파라미터의 각 요소를 통해 반복한다. String ss 비트는 루프 범위에 ss이라는 변수를 선언합니다.

컬렉션 매개 변수에 대한 요구 사항은 Iterable<T> 인터페이스 또는 배열을 구현하는 유형이어야한다는 것입니다.

0

변수 ss는 반복자를 사용하는 로컬 변수입니다. java에서 사용할 수있는 두 가지 유형의 for 루프가 있습니다. 첫째 : for(int i=0;i<5;i++){ //block of code } 둘째 : 당신이 언급 한 for(int i:array) { //block of code }

하나는 루프의 두 번째 유형입니다.

ss는 반복자의 역할을하고 주어진 정규 표현식 ("공백")을 기반으로 입력 문장을 분할 한 결과로 형성된 각 단어를 반복합니다.