java foreach语句

foreach语法可以不必创建int变量去对由访问项构成的序列进行计数,foreach将自动遍历获得每一项     

foreach语法如下

for(变量类型 x : 该变量的序列){

       statement

}

foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句,然而,任何的foreach语句都可以改写为for语句版本。foreach并不是一个关键字,习惯上将这种特殊的for语句格式称之为“foreach”语句。从英文字面意思理解foreach也就是“for 每一个”的意思。实际上也就是这个意思。foreach的语句格式:for(元素类型t 元素变量x : 遍历对象obj){     引用了x的java语句;}下面通过两个例子简单例子看看foreach是如何简化编程的。代码如下:

用foreach遍历float数组

public class foreachfloat{

       public static void main(string [] args){

              random rand = new random(47);

              float f[] = new float[10];

              for(int i=0;i < 10;i++){

                     f[i]=rand.nextfloat();

}

for(float x : f)

       system.out.println(x);

}

}

输出

0.32454357

.

.

. //共10行

如上例所示

for(float x : f){

       这条语句定义了一个名为x的float型变量,而后将每一个值遍历到x  

}

任何数组或返回值是数组的方法都可以应用于foreach。

public class foreachstring{

       publicn static void main(string [] args){

              for(char c : “hello word”.tochararray()){

                     system.out.print(c+” ”);

}

}

}

输出

h e l l o  w o r d

但foreach不能直接对不存在的一组逻辑数字进行遍历,但for却可以

例如 for(int i=0;i < 100;i++)

如果想直接对数字进行遍历需要创建int型的数组,但可以做个静态方法自动根据传入数字来建立数组

      

例如for(int i : range(10))

这种方法虽然可以使得foreach更通用,但是这种方法会降低计算机效率

 

/**
     * 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);
                 }
             }
         }
     }

时间: 2024-08-01 14:06:13

java foreach语句的相关文章

jstl-c:forEach语句问题,java,web

问题描述 c:forEach语句问题,java,web c:forEach实现循环,里面有一个button,button下有onclick事件,onclick失效.例如: 循环遍历试题显示,试题分页,每页一道题时onclick事件可以触发,但每页多于一道题时点击加入试卷时onclick事件不触发,求问为什么?怎么解决?希望大神有具体的解决方案! 解决方案 但每页多于一道题时点击加入试卷时onclick事件???这句话没太懂啊,我理解是,遍历出来一个页面出现两道题, 你点击其中一道题,加入到考试试

MyBatis的foreach语句详解_java

foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合.foreach元素的属性主要有 item,index,collection,open,separator,close.item表示集合中每一个元素进行迭代时的别名,index指 定一个名字,用于表示在迭代过程中,每次迭代到的位置,open表示该语句以什么开始,separator表示在每次进行迭代之间以什么符号作为分隔 符,close表示以什么结束,在使用foreach的时候最关键的也是最容易出错的就是collectio

转 java foreach实现原理

java.util.List实现了java.lang.Iterable接口. jdk api文档中是这样描述Iterable接口的:实现这个接口允许对象成为 "foreach" 语句的目标.不过咋一看Iterable接口并没啥特别之处,只是定义了一个迭代器而已. ? 1 2 3 4 5 6 7 8 public interface Iterable<T> {       /**       * Returns an iterator over a set of elemen

C#的foreach语句

foreach语句是在C#中新引入的,C和C++中没有这个语句,而Visual Basic的程序员应该对它不会陌生.它表示收集一个集合中的各个元素,并针对各个元素执行内嵌语句.语句的格式为: foreach(type identifier in expression)embedded-statement 其中类型(type)和标识符(identifier)用来声明循环变量,表达式(expression)对应集合.每执行一次内嵌语句,循环变量就依次取集合中的一个元素代入其中.在这里,循环变量是一个

C#巧用foreach语句控制控件

foreach语句用来迭代集合中的每个项目,其语法格式如下: foreach(type identifier in expression) 在本实例中,使用foreach语句实现清空当前窗体上所有TextBox的Text值,同样也可以用foreach语句来控制同一容器中一组相同的控件.这样可以大大的提高程序人员的工作效率.其代码如下: private void clearText() { foreach (Control cont in this.gbLogin.Controls) { if (

C# Foreach语句

foreach语句表示收集一个集合中的各个元素,并针对各个元素执行内嵌语句. 语句的格式为: foreach(type identifier in expression)embedded-statement foreach(元素类型  变量名  in 集合或数组名) {语句} 其中类型(type)和标识符(identifier)用来声明循环变量,表达式(expression)对应集合.每执行一次内嵌语句,循环变量就依次取集合中的一个元素代入其中.在这里,循环变量是一个只读型局部变量,如果试图改变

java中语句char mychar=10是合法的吗?

问题描述 java中语句char mychar=10是合法的吗? java中语句char mychar=10是合法的吗?按照我的理解,10在java中默认为int型,把一个int型赋值给char不会发生自动类型转换,所以是不合法的.可是书上却出现了这条语句,难道我的理解是错误的吗? 解决方案 合法滴,在表示数字的字符是可以不用加引号 解决方案二: 合法的,char本身就是用一个字节的整型存储的,你把mychar=81再把mychar打印出来会发现打印的是A,去看看asc2码表你就明白了 解决方案

设计-简单的JAVA循环语句问题

问题描述 简单的JAVA循环语句问题 如何设计一个循环,让用户在输入0的时候跳出循环,输入其他数字的时候启动循环体? (细节:运行完循环之后,需要再接受用户输入.直到用户输入0,才结束循环) 解决方案 Java的循环语句 Java 的循环语句有for,while 和 do-while .这些语句创造了我们通常所称的循环(loops).你可能知道,一个循环重复执行同一套指令直到一个结束条件出现.你将看到,Java 有适合任何编程所需要的循环结构. 1. while 语句 while 语句是Java

对象-Java INPUT 语句的奇怪状况

问题描述 Java INPUT 语句的奇怪状况 以下是我在完成老师作业时候遇上的问题,希望能够得到解答,感谢!(问题在中间的comment里面描述) public static void main(String[] args) { //construct the first flight object Scanner input=new Scanner(System.in); System.out.println("Please enter the information regarding t