当前位置:首页 » 编程语言 » java中的foreach

java中的foreach

发布时间: 2022-04-18 19:05:29

1. java的foreach怎么用

JAVA中foreach循环使用

foreach语句是java5的新特征之一,在遍历数组、集合方面,foreach为开发人员提供了极大的方便。

foreach 语法格式如下:

注意事项:

foreach不支持在循环中添加删除操作,因为在使用foreach循环的时候数组(集合)就已经被锁定不能被修改,否则会报出java.util.异常。

2. java中的foreach语法

Mark一个,马上帮你看看

是这样的,楼主你第一个错误是,类命名不对,首字母规范是大写,P117
第二
public class p177 {
public static void main(String[] args){
int[] a =new int[] {1,2,3};
for(int index: a){
}
System.out.print(a);
}
}
程序输出的是a的地址,你sout没有放到循环里面
如果这样

public class p177 {
public static void main(String[] args){
int[] a =new int[] {1,2,3};
for(int index: a){
System.out.print(a);
}
}
for里面的内容会执行三次,就是说会输出三次a的地址

如果你想输出数组里面的内容,你应该这样写
public class p177 {
public static void main(String[] args){
int[] a =new int[] {1,2,3};
for(int i : a){
System.out.print(i);
}
}
}

希望可以帮到你,谢谢

3. java中for和foreach的区别

for是用来做循环的,foreach是可以用来遍历数组的
例如:for(inti=1;i<10;i++){
int sum=0;
sum=sum+i;
}
System.out.println(sum);
这是求1到10累加的
int[]a=new int[1,2,3,4,5,6];
foreach(int i in a){
System.out.println(i);
}
遍历数组a中的元素

4. 关于java中c标签foreach的用法

<c:foreach>用法
<c:foreach>类似于for和foreach循环
以下是目前见过的用法:
1、循环遍历,输出所有的元素。
<c:foreach
items="${list}"
var="li">
${li}
</c:foreach>
注意:items
用于接收集合对象,var
定义对象接收从集合里遍历出的每一个元素。同时其会自动转型。
2、循环遍历,输出一个范围类的元素。
<c:foreach
items
="${lis}"
var
=
"li
"
begin="2"
end
="12">
${li}
</c:foreach>
注意:begin
定义遍历的开始位置,end定义遍历的结束位置。begin
和end的引号必须写。
3、循环遍历,输出除某个元素以外的元素或输出指定元素。
<c:foreach
items="${list}"
var
="li"
varStatus="status">
<c:if
text="${status.count==1}>
${"第一个元素不要"}
</c:if>
${li}
</
c:foreach>
注意:varStatus
表示当前集合的状态(其实是不是,我也不太清楚,只知道这样用,会的人指点下),count为循环一个计算器。
4、循环遍历,输出第一个或最后一个元素。
<c:foreach
items="${list}"
var
="li"
varStatus="status">
<c:if
text="${status.first}">我是第一个元素</c:if>
<c:if
text="${status.last}">我是最后一个元素</c:if>
</c:foreach>
注意:first表示如果是一个元素,则返回ture,反之则返回false
last
表示如果是最后一个元素,则返回ture,反之则返回false。
5、循环遍历,按指定步长输出。
<c:foreach
items="list"
var
="li"
step="2">
${li}
</c:foreach>
注意:step为循环的步长。每次隔两个单位输出一个。如:1、3、5、

5. java foreach有什么用

java1.5发行版中引入for-each循环,通过隐藏迭代器或者索引变量,避免混乱或者出错的可能。其次foreach的效率比简单for的效率更高,除此之外,有三种情况无法使用for
each循环
1.
过滤:遍历集合,并删除特定元素,这时候需要用迭代器
2.
转换:遍历列表或者数组,并取代它部分或者全部的元素值,需要迭代器或者数组索引。
3.
平行迭代:如果需要并行地遍历多个集合

6. Java的for循环、增强for循环、lambda表达式中的forEach 三种方式优缺点比较

个人理解不喜勿喷。
简单的来说其实三种并没有什么太大的区别,一般情况下的性能也差不多。
for循环:
优点:可以直接获取下标,能更精确的定位。下标变量属于循环内变量,循环结束会自动回收。下标变量的步长可以自定,比较灵活。
缺点:需要根据下标才会获取循环内容。只能循环有序集合和数组,如Set和Map就无法遍历。

增强for:
优点:循环直接进行赋值,直接得到循环对象,不需要通过下标获取。可以遍历所有集合类型和数组。

缺点:循环有序集合时无法定位下标,需要在循环外层定义下标。无法遍历Map类型。

lambda:
优点:可以对所有集合类型和Map进行循环,特别是支持对Map进行循环,循环也是直接进行赋值,直接得到循环对象。

缺点:循环有序集合时无法定位下标,无法遍历数组,因为理论上来说他是属于迭代器的一种。同时因为循环体属于一个封闭范围的线程,在循环体内使用部分循环体外的变量需要加final关键字,很不方便。
另外说到了迭代器,可以参考lambda,不过写法就没lmbda那么方便了,不过迭代器有很多功能是循环比不上的,可以去看看。

7. java里面的foreach标签怎么用啊

<c:forEach items="集合" var="迭代变量参数名称" varStatus="迭代状态参数名称"></c:forEach>

items是用于迭代的集合,支持的类型:数组、子字符串组(用逗号间隔分割的String)、JDBC数据集;var是迭代成员中变量名称(可自定义的String类型),表示每一个迭代变量。

8. java中for each的用法

foreach语句是java5的新特征之一,在遍历数组、集合方面,foreach为开发人员提供了极大的方便。
foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句,然而,任何的foreach语句都可以改写为for语句版本。
foreach并不是一个关键字,习惯上将这种特殊的for语句格式称之为“foreach”语句。从英文字面意思理解foreach也就是“for 每一个”的意思。实际上也就是这个意思。
foreach的语句格式:
for(元素类型t 元素变量x : 遍历对象obj){
引用了x的java语句;
}
下面通过两个例子简单例子看看foreach是如何简化编程的。代码如下:
一、foreach简化数组和集合的遍历
import java.util.Arrays;
import java.util.List;
import java.util.ArrayList;

/**
* Created by IntelliJ IDEA.
* User: leimin
* Date: 2007-12-3
* Time: 16:58:24
* Java5新特征之foreach语句使用总结
*/
public class TestArray {
public static void main(String args[]) {
TestArray test = new TestArray();
test.test1();
test.listToArray();
test.testArray3();

}

/**
* foreach语句输出一维数组
*/
public void test1() {
//定义并初始化一个数组
int arr[] = {2, 3, 1};
System.out.println("----1----排序前的一维数组");
for (int x : arr) {
System.out.println(x); //逐个输出数组元素的值
}

//对数组排序
Arrays.sort(arr);

//利用java新特性for each循环输出数组
System.out.println("----1----排序后的一维数组");
for (int x : arr) {
System.out.println(x); //逐个输出数组元素的值
}
}

/**
* 集合转换为一维数组
*/
public void listToArray() {
//创建List并添加元素
List<String> list = new ArrayList<String>();
list.add("1");
list.add("3");
list.add("4");

//利用froeach语句输出集合元素
System.out.println("----2----froeach语句输出集合元素");
for (String x : list) {
System.out.println(x);
}

//将ArrayList转换为数组
Object s[] = list.toArray();

//利用froeach语句输出集合元素
System.out.println("----2----froeach语句输出集合转换而来的数组元素");
for (Object x : s) {
System.out.println(x.toString()); //逐个输出数组元素的值
}
}

/**
* foreach输出二维数组测试
*/
public void testArray2() {
int arr2[][] = {{4, 3}, {1, 2}};
System.out.println("----3----foreach输出二维数组测试");
for (int x[] : arr2) {
for (int e : x) {
System.out.println(e); //逐个输出数组元素的值
}
}
}

/**
* foreach输出三维数组
*/
public void testArray3() {
int arr[][][] = {
{{1, 2}, {3, 4}},
{{5, 6}, {7, 8}}
};

System.out.println("----4----foreach输出三维数组测试");
for (int[][] a2 : arr) {
for (int[] a1 : a2) {
for (int x : a1) {
System.out.println(x);
}
}
}
}
}
运行结果:
----1----排序前的一维数组
2
3
1
----1----排序后的一维数组
1
2
3
----2----froeach语句输出集合元素
1
3
4
----2----froeach语句输出集合转换而来的数组元素
1
3
4
----4----foreach输出三维数组测试
1
2
3
4
5
6
7
8

Process finished with exit code 0
二、foreach语句的局限性
通过上面的例子可以发现,如果要引用数组或者集合的索引,则foreach语句无法做到,foreach仅仅老老实实地遍历数组或者集合一遍。下面看一个例子就明白了:
/**
* Created by IntelliJ IDEA.
* User: leimin
* Date: 2007-12-3
* Time: 17:07:30
* foreach语句的局限性
*/
public class TestArray2 {

public static void main(String args[]) {
//定义一个一维数组
int arr[] = new int[4];
System.out.println("----未赋值前输出刚刚定义的数组----");
for (int x : arr) {
System.out.println(x);
}

//通过索引给数组元素赋值
System.out.println("----通过循环变量给数组元素赋值----");
for (int i = 3; i > 0; i--) {
arr[i] = i;
}
//循环输出创建的数组
System.out.println("----赋值后,foreach输出创建好的数组----");
for (int x : arr) {
System.out.println(x);
}
}
}

运行结果:
----未赋值前输出刚刚定义的数组----
0
0
0
0
----通过循环变量给数组元素赋值----
----赋值后,foreach输出创建好的数组----
0
1
2
3

Process finished with exit code 0
三、总结
foreach语句是for语句特殊情况下的增强版本,简化了编程,提高了代码的可读性和安全性(不用怕数组越界)。相对老的for语句来说是个很好的补充。提倡能用foreach的地方就不要再用for了。在用到对集合或者数组索引的情况下,foreach显得力不从心,这个时候是用for语句的时候了。foreach一般结合泛型使用

9. Java8的forEach有哪些坑

结合自身的使用经历,主要还是一些粗心问题,也建议各IDE插件或JDK自身能够有一些语法上的智能检测而不是运行时才做。
1、对当前集合使用forEach是不能在lambda表达式内对当前集合进行调整,这样运行时会异常,编译时不会异常。
2、在forEach中使用泛型集合时需要注意,如果是复合泛型或嵌套泛型可能会有问题,还是建议在使用时能够明确类型。
如题主遇到别的坑还请回复大家一起总结学习!

10. java中的foreach语句怎么写

Java 中的 foreach 语句对应基本格式为:
for([type] varName : collection) {
// process
}
如,要遍历一个整数数组的元素,可以这么写:
int[] arr = new int[] {1, 2, 3};
for(int i : arr) {
System.out.println(i);
}

热点内容
腾讯云cos云服务器 发布:2025-01-23 00:46:47 浏览:63
如何给安卓平板刷上MIUI系统 发布:2025-01-23 00:45:51 浏览:73
2开方算法 发布:2025-01-23 00:27:21 浏览:16
如何看自己steam服务器 发布:2025-01-23 00:07:21 浏览:710
armlinux命令 发布:2025-01-23 00:01:08 浏览:137
战地4亚洲服务器为什么被攻击 发布:2025-01-22 23:45:42 浏览:671
javascript反编译 发布:2025-01-22 23:37:57 浏览:432
夏天来了你的巴氏奶存储对吗 发布:2025-01-22 23:37:56 浏览:206
求最大值c语言 发布:2025-01-22 23:22:35 浏览:250
一键清理系统脚本 发布:2025-01-22 23:21:10 浏览:62