问大家一个JAVA的问题..........
public classDataType{
public static void main(String args[]){
char []a={'H','e','l','l','o'};
printCharArray(a);
toUpperCase(a);
printCharArray(a);
}
public static void toUpperCase(char[] arr){
for (int i=0;i<arr.length;i++){
arr[i]=Character.toUpperCase(arr[i]);
}
}
public static void printCharArray(char[]arr){
for (char c: arr)//这个语句是什么意思???????
System.out.print(c);
System.out.println();
}
}
那个语句我没见过,但我猜测是对c循环付值,但是让我不懂的是,如果把这个c在for之外声明却会出错...即:
char c;
for(c:arr)
System.out.print(c);
这样不行;
不知道是怎么回事,请教大家.......
这是foreach循环,它的结构就是for("集合内单个类型"绝散 "别名" ":" "集合")这个结构
你的集合类型相郑宏伏同,你上面就用了char数组,里面每个元素都是char类型,就要都写在for()内。
并不喊携是在外边声明变量放进去用的结构
char c;这句是定义了一个char类型的变量,你后面要打印的是car数组里面的元毁旦素
for(c:arr)
System.out.print(c);你这里打印的C是你之前定义的变量
你上面是用的foreach循环,foreach固定结构式纤纤扰:for(类型 别名: 集合)
等同竖简于下面的for循环:
for(int i = 0; i < arr.length; i++){
char c = arr[i];
System.out.println(c);
}
这是java新毁散增的功薯余迅能数此就foreach输出,用于遍历数组的。“c”相当于for循环中的“i"。
这个是增强for循环