丐王苏灿破解版:谁能帮我解释下下面JAVA代码中的for(string arg:args)

来源:百度文库 编辑:高考问答 时间:2024/04/27 14:23:30
package test;
import java.util.*;
import java.io.*;
public class Properties_test
{
public static void main(String[] args)
{
try
{
Properties roles =new Properties();
roles.load(new FileInputStream("c:/hpj-users.properties"));
Enumeration emnu = roles.propertyNames();
while(emnu.hasMoreElements())
{
String key = emnu.nextElement().toString();
String value = roles.getProperty(key);
System.out.println(key+"_"+Token(value).size()+"_"+value);
}
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
}

public static List<String> Token(String s)
{
List<String> list = new ArrayList<String>();
try
{
String[] args = s.split(",");
for (String arg :args)
{
list.add(arg.trim());
}
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
return list;
}

}
想具体了解下collection-based for 循环
就是:for (String arg :args)
不了解这个for循环的含义,中间的:是什么意思
这个循环是按什么规则循环的,一般的循环不是fro( ?;? ;? );
为什么这个是for ( ? : ? )

List<String>

泛性(j2SE 5.0的新特性)

for (String arg :args)
{
list.add(arg.trim());
}

增强后的for循环(j2SE 5.0的新特性)

主要作用简化了之前的for循环:
相当与 (这个你看得懂吧)
for(int i=0;i<args.length;i++){
list.add(args[i]);
}

格式: for(类型 参数名 : 数组或集合类){ }
类型必需与数组或集合类的类型相同,
参数的值是动态的,所有数组或集合类的每一个值。

你可以实验一下:(就懂了)
一。数组:
int[] num = {1,2,3,4,5};
for(int arg:num){
System.out.println(arg);
}

二。集合类:
ArrayList<String> list = new ArrayList<String>();
list.add("A");
list.add("B");
list.add("C");
list.add("D");
for(String arg: list){
System.out.println(arg);
}

你是想问String[]args 吧
这个就好比C语言里面的scanf中输入的参数一样

String[]args是一个字符串数组 也就是说可以接收若干个参数
然后这些参数被配在程序体里面,当你在编译的时候把args[]数组 添上 在程序体里面把需要他的地方添上args[i](i就是你需要第几个参数)就能调用了!不知道你能明白吗?^.^