首页 > 编程知识 正文

java循环遍历,数组是一种基本数据类型

时间:2023-05-04 10:20:42 阅读:12143 作者:3407

本文从:https://www.cn blogs.com/hellochennan/p/5373186.html进行了总结

1 .传统方式

非常简单的for循环

int [ ] a={ 1,2,3,4 }; for(intj=0; j a.length; j({intI=a[j];

system.out.println(I;

}

2. for-each循环(J2SE 1.5 ) )。

语法3:for (循环变量类型循环变量名3360遍历的对象)循环体

eg:

int [ ] a={ 1,2,3,4 }; for(inti:a ) {

system.out.println(I;

}

为什么不是foreach和in,而是for,

这是为了通过引入新的关键字来避免出现兼容性问题。

如何防止循环变量在循环体中发生变化?

可以将循环变量设置为final,以便在编译时发生错误

int [ ] a={ 1,2,3,4 }; for(finalinti:a ) {

i=i/2; /*编译时发生错误*

:只是禁止直接赋值给循环变量。 不禁止为循环变量的属性赋值,也不禁止调用改变循环变量属性的方法。

------------- -请参阅

类型兼容性问题

a、循环变量的类型也可以是正在遍历的对象的上位类型

eg:

String[] strings={'A '、' b '、' c '、' D'};

collection string list=Java.util.arrays.as list (strings ); for(objectstr:list ) {

system.out.println(str; /*依次输出" a "、" b "、" c "、" d " */}

b,循环变量的类型与待遍历的对象的类型有自动变换的关系,即:

J2SE 1.5包含一种称为“Autoboxing/Auto-Unboxing”的机制,编译器可以根据需要自动转换基本类型及其包装类(Wrapper Classes )

eg:

int [ ] integers={ 1,2,3,4 }; for(integerI:integers ) {

system.out.println(I;/*按照“1”、“2”、“3”、“4”*/}的顺序输出

------------- -请参阅

转换为Collection子类并在迭代器中遍历

eg:

int [ ] a={ 1,2,3 };

listB=a.aslist(a;

迭代器ITER=b.iterator (; wile(Iter.Hasnext () ) ) )。

Object pre=iter.next (;

system.out.println(pre;

}

或者

int [ ] a={ 1,2,3 };

listB=a.aslist(a;

for(iteratorIter=b.iterator ); iter.hasNext (; () )。

Object pre=iter.next (;

system.out.println(pre;

}

Collection子类还可以使用for-each遍历,即:

int [ ] a={ 1,2,3 };

listB=a.aslist(a; for (对象: b ) {

system.out.println(I;

}

------------- -请参阅

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。