小白跪求大神解答 java se

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循环还是有一定的区别的。

就是支持数组访问的迭代器啊,一种语法糖而已