2014-01-17 2 views
-5

Мой друг прислал мне этот кусок кода, и он работает, но я не могу понять, что означает «ss»? Может кто-нибудь мне помочь? Благодарю.Java for-loop синтаксис?

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 представляет каждую отдельную строку в наборе слов. Возможно, вам захочется обратиться к учебнику по языку java для работы цикла for.

1

Код:

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

это в Java для каждого цикла-, которая выполняет итерации по каждому элементу в параметре коллекции или массива. Бит String ss объявляет переменную с именем ss в объеме цикла.

Требование к параметру коллекции заключается в том, что оно должно быть типа, реализующего интерфейс Iterable<T> или массив.

0

Переменная ss - это локальная переменная, использующая итератор. В java доступны два типа циклов. Первое: for(int i=0;i<5;i++){ //block of code } Второе: for(int i:array) { //block of code }

Тот, который вы упомянули, это второй тип для цикла.

ss действует как итератор и выполняет итерацию через каждое слово, сформированное в результате разделения входного предложения на основе данного регулярного выражения, которое является «" (пробелом) в вашем случае.