String[] arr=new String[5];
for(int i=0;i<5;i++){
arr[i]=sc.next();
}
String max=arr[0];
for(String s:arr){
if(max.length()<s.length()){
max=s;
}
}
for(String s:arr)是什么意思?
这个是Java的for each 就是for循环的意思啦,你的arr数组是一个字符串数组(也就是一个一个的String装在这里面),这个for(String s:arr)的意思就是
从arr里面每次取出一个String 放到你定义的这个String s里面,然后对其进行操作嘛等价于
for(int i = 0,i<=arr.length,i++){}
增强for循环,java1.5以后的新特性,其实本质上和for(int i=0;i<length;i++)没太大区别
相当于
for (int i = 0; i < arr.length; i++)
{
String s =arr[i];
if(max.length()<s.length()){
max=s;
}
}
这是增强foreach循环语句,你可以用反编译软件对其class文件进行编译,你会发现,其实它和for循环还是有一定的区别的。
就是支持数组访问的迭代器啊,一种语法糖而已