`

java循环标签 Foreach

阅读更多

1. 简单的for循环

	public static void main(String[] args) {
		for (int i = 1, y = i + 10; i < 5 && y < 12; i++, y = i * 2) {

			System.err.println("i=" + i + "    y=" + y);
		}

	}

   输出

    i=1    y=11
    i=2    y=4
    i=3    y=6
    i=4    y=8

 

2. Foreach语法

	public static void main(String[] args) {
		for (char a : "xunhuan".toCharArray()) {
			// 所有数组格式 都可以这样循环
			System.err.println(a);
		}

	}

  输出

    x
    u
    n
    h
    u
    a
    n

 

       Foreach还支持所有实现Iterable接口的对象,Collection 接口继承了 Iterable接口,所以所有的List、Set、Queue接口的实现类(ArrayList、LinkedList、Vector、Stack、HashSet、TreeSet、LinkedHashSet、PriorityQueue),还有HashMap 中的keySet()、entrySet()方法(返回的是HashMap 中的一个实现Collection接口的内部类对象KeySet、EntrySet)都能用foreach循环; 也可以自己写一个类实现Iterable,照样可以用在foreach中。   

	public static class IterImpl implements Iterable<String> {

		public String[] array = "dai ni zhuang bi dai ni fei".split(" ");

		@Override
		public Iterator<String> iterator() {
			return new Iterator<String>() {
				private int index = 0;

				@Override
				public boolean hasNext() {
					return index < array.length;
				}

				@Override
				public String next() {
					return array[index++];
				}

				@Override
				public void remove() {

				}

			};
		}

	}

	public static void main(String[] args) {
		for (String str : new IterImpl()) {
			System.err.println(str);
		}

	}

  输出:

       dai
       ni
       zhuang
       bi
       dai
       ni
       fei

 

3.    无穷循环有两个  while(true)  和for(;;)   看自己习惯

 

4.    标签  ,就不进行文字叙述了,研究下面代码吧

	public static void main(String[] args) {
		outer: for (int y = 0; y < 10; y++) {
			System.err.println("----〉y:" + y);
			inner: for (int i = 0; i < 10; i++) {
				System.err.println("i=" + i);
				if (i == 0 && y == 0) {
					System.err.println("continue");
					continue;
				}
				if (i == 1 && y == 0) {
					System.err.println("break");
					break;
				}
				if (i == 2 && y < 2) {
					System.err.println("continue inner ");
					continue inner;
				}
				if (i == 3 && y < 2) {
					System.err.println("continue outer ");
					continue outer;
				}
				if (i == 4 && y < 3) {
					System.err.println("break inner");
					break inner;
				}
				if (i == 5) {
					System.err.println("break outer");
					break outer;
				}
			}
		}

	}

 输出:

 

      ----〉y:0
      i=0
      continue
      i=1
      break
      ----〉y:1
      i=0
      i=1
      i=2
      continue inner 
      i=3
      continue outer 
      ----〉y:2
      i=0
      i=1
      i=2
      i=3
      i=4
      break inner
      ----〉y:3
      i=0
      i=1
      i=2
      i=3
      i=4
      i=5
      break outer

2
2
分享到:
评论
1 楼 zyhui98 2014-12-05  
IterImpl implements Iterable<String>
这个有点营养

相关推荐

    jsp java自定义标签 分页 当前位置 循环遍历数据

    本文将深入探讨如何使用Java自定义标签来实现分页功能,当前位置的显示以及数据的循环遍历。 首先,让我们了解一下Java自定义标签的基本概念。自定义标签是JSP的一种扩展机制,它允许开发者创建自己的标签库,这些...

    jstl标签 forEach详解

    jstl forEach 标签是 JavaServer Pages Standard Tag Library (JSTL) 中的一个标签,用于循环控制,可以将集合中的成员循序浏览一遍。该标签的运作方式为当条件符合时,就会持续重复执行的本体内容。 语法 --------...

    java web 标签大全

    Freemarker是一种流行的模板引擎,可以与Java Web应用结合,通过`&lt;#if&gt;`, `&lt;#foreach&gt;`等标签进行条件判断和循环。 8. Spring Web Flow Spring Web Flow提供了流程管理的标签,帮助开发者构建复杂的用户交互流程...

    c:forEach标签的使用祥解

    在JavaServer Pages (JSP) 开发中,`c:forEach`标签是Java Expression Language (EL) 和 JavaServer Pages Standard Tag Library (JSTL) 的一部分,它提供了一个方便的方式来迭代数组、集合、Map或其他可迭代的数据...

    Java 8跳过本次循环,继续执行以及跳出循环,终止循环的代码实例

    Java 8中有多种循环方式,其中包括老式的for循环、高级的for each循环和Java 8出的foreach循环。今天我们将讨论如何在Java 8中跳过本次循环、继续执行和跳出循环。 跳过本次循环 在Java 8的foreach循环中,使用...

    JAVA 标准标签库_PPT

    迭代标签库,如`forEach`和`forTokens`,则用于遍历集合或执行循环。例如,遍历一个数字数组: ```jsp &lt;c:forEach var="number" items="${numbers}"&gt; ${number} &lt;/c:forEach&gt; ``` 此外,JSTL还包含了用于国际化和...

    Java循环结构for语句while语句详解-Java教程

    虽然在标签中没有提及,但这里补充一下,Java还提供了do-while循环,它与while循环类似,不同之处在于do-while循环至少会执行一次循环体,即使初始条件不满足。基本语法如下: ```java do { // 循环体 } while ...

    java中web标签大全

    JSTL(JavaServer Pages Standard Tag Library)是Java标准标签库,包含了一系列基础标签,如fmt、sql、fn、c等,用于格式化、数据库操作、函数和条件循环。其中,`&lt;c:set&gt;`、`&lt;c:forEach&gt;`和`&lt;c:if&gt;`等标签在JSP...

    视频教程:Java中的For循环语句用法精讲.rar

    此外,Java还提供了增强型For循环,也称为foreach循环,特别适合遍历集合和数组: ```java for (int num : numbers) { System.out.println(num); } ``` 在这个视频教程中,你将学习如何使用For循环进行各种操作,...

    Struts循环标签

    在Struts中,循环标签允许开发者遍历集合数据,如数组、列表、Map等,并将它们的内容逐个展示在页面上,而无需编写过多的Java脚本或JSP EL表达式。 在Struts 1中,有两个主要的循环标签:`&lt;logic:iterate&gt;`和`...

    Java标签架包Java标签架包

    Java标签架包通常包含多个核心标签库,如JSTL Core、JSTL SQL、JSTL XML以及JSTL Functions等,这些库提供了处理循环、条件判断、数据库操作、XML处理等功能。 1. JSTL Core库:这是最基础的部分,包含了处理流程...

    Java Web 标签大全(完全离线版)

    它们可以是HTML标签,如`&lt;p&gt;`用于段落,`&lt;a&gt;`用于链接,或者更复杂如JSP标准标签库(JSTL)提供的标签,如`&lt;c:forEach&gt;`用于循环遍历集合,`&lt;fmt:formatDate&gt;`用于日期格式化。此资源中去除了源码中的`&lt;object&gt;`标签...

    Java 循环结构.pdf

    5. **增强for循环**(foreach循环): - 适用于遍历集合或数组,简化了迭代过程。 - 基本语法:`for (类型 变量 : 集合/数组) { 循环体; }` - 示例:可以方便地遍历数组或集合,但不能改变迭代元素。 6. **嵌套...

    java web标签大全

    Velocity模板语言(VTL)包含了一系列指令,如#if、#foreach等,使得开发者可以在模板中进行条件判断和循环。 这些标签库的使用大大提高了Java Web开发的效率,降低了代码的复杂性。通过深入理解和熟练掌握这些标签...

    java tld标签打包

    3. **Logic标签**:逻辑标签可能是指另一个自定义标签库,它扩展了JSP的逻辑处理能力,比如条件判断、循环等。虽然JSTL的c标签已经包含了大部分逻辑操作,但有时开发者会创建自己的逻辑标签来满足特定需求或提供更...

    c标签-if-foreach-jar

    总的来说,`&lt;c:if&gt;`和`&lt;c:forEach&gt;`是JSTL库中的两个重要标签,它们在前端EL表达式的应用中起着关键作用,帮助开发者在不编写过多Java代码的情况下完成条件判断和循环操作,提升了开发效率和代码可读性。理解和熟练...

    JSTL循环语法,java

    `&lt;c:forEach&gt;`是JSTL中最常用的循环标签之一,用于对集合或数组进行迭代操作。其基本语法结构如下: ```jsp &lt;c:forEach items="${collection}" var="item" varStatus="status"&gt; ${item}"/&gt; &lt;/c:forEach&gt; ``` - **...

    java web 标签 ppt

    在深入探讨Java Web标签之前,我们首先需要对Java Web开发有一个基本的认识。Java Web是一种基于Java技术构建Web应用程序的方式,广泛应用于企业级应用的开发。Java Web开发涉及到多个技术和工具,其中Web标签(JSP...

    自定义JSTL标签java项目文件

    这些库提供了处理常见任务的标签,如循环、条件判断、URL操作、国际化等。例如,`&lt;c:forEach&gt;`用于迭代集合,`&lt;fmt:formatDate&gt;`用于格式化日期,这些都是JSTL的核心标签。 自定义JSTL标签的创建涉及到以下几个步骤...

Global site tag (gtag.js) - Google Analytics