黑马程序员技术交流社区
标题:
数组中元素的遍历,这个有什么可以改进的吗
[打印本页]
作者:
剪爱
时间:
2014-5-12 20:44
标题:
数组中元素的遍历,这个有什么可以改进的吗
class ArrayDemo01{
public static void main(String[] args) {
//定义一个数组
int[] array = new int[]{1,2,3,4,5};
printArray(array);
}
/*
需求: 数组遍历
明确:
返回类型: void
未知内容: int[] arr
[1,2,3,4,5]
*/
public static void printArray(int[] arr){
System.out.print("[");
for(int x = 0;x<arr.length;x++){
//打印数组元素
//System.out.println(arr[x]);
//判断
if(x== arr.length-1){
System.out.print(arr[x]);
} else {
System.out.print(arr[x]+",");
}
}
System.out.println("]");
}
}
作者:
寻找人生目标
时间:
2014-5-12 22:06
可以用增强for来遍历
class Demo {
public static void main(String[] args) {
int[] arr ={23,32,4,345454,6656,23,233,4,5,6,7};
for (int i : arr ) {
System.out.print(i+" ");
}
}
}
复制代码
作者:
寻找人生目标
时间:
2014-5-12 22:12
增强for jdk1.5以后才出现的
格式:
for(类型 变量:容器){}
变量就是每一次迭代出来的元素。
作者:
赵京
时间:
2014-5-12 22:58
本帖最后由 赵京 于 2014-5-12 23:02 编辑
这个对话框怎么写不上代码,每次写上代码,就乱码了,奇怪
作者:
pandapan
时间:
2014-5-12 23:14
本帖最后由 pandapan 于 2014-5-12 23:19 编辑
看了楼主的代码,看出想表达的含义是在数组元素中间插入逗号,最后的元素后面不插入逗号,然后用一行打印出来。
这个可以改进的地方呢,个人感觉有两处,一个是for循环的地方,另外一个是在循环内部判断是否是数组中最后一个元素的地方。
java中的for循环正如上面几位的回答,在jdk1.5中增加了增强型for循环,在此处可以使用这个。书写的格式和案例正如 @人生的目标 所写,此处不再赘述。此处重点说另外一个吧,就是判断数组中最后元素,然后加逗号的逻辑,可以这样处理的,我们直接用StringBuilder(可以自己查看jdk)来临时存储我们要打印的数据,并且在每个数组元素后追加逗号,最后呢,我们只需要取从0到数组的长度减去1的地方就可以了,即不打印最后的逗号。这样呢,好处有这样几点
1:在循环的过程中,不会占着控制台,最后一次性向数据打印到控制台,提高了效率,(此处的StringBuilder充当了缓存的作用)
public class ForExpressionTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] arr = new int[]{1,2,3,4,5};
printArray(arr);
}
public static void printArray(int[] arr){
StringBuilder sb = new StringBuilder("");
for(int i : arr){
sb.append(i+",");
}
System.out.println(sb.substring(0, sb.length()-1));//注意substring方法取头不取尾,即从第0个字符开始取值,然后取到最后一个元素(不包含)
}
}
复制代码
,
2.减少了程序在循环中的判断次数,提高了一点效率,如果在大批量数据中可能会看到提到的效果
3.如果使用增强型for循环的话,更能够体现出我们程序的作用,因为使用增强型for循环,我们一般只是为了取数据
希望能够帮到你
作者:
彭飞
时间:
2014-5-12 23:22
增强for循环不知道是哪一天的视频 -0-
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2