20、for循环的另一种写法

2021-04-02  本文已影响0人  爱学习的代代

之前我们使用for循环的时候一般是诸如for (int i = 0; i < 10; i++)这样的一种方式,当我们不关心元素的次序,需要把一个列表里的所有元素遍历一遍呢?

实例: 一个超市初始化10件商品,输出每件商品的重要信息。

package day13;

import day12.Merchandise;

public class SuperMarket {
    String name;
    String location;
    MerchandiseWithConstructor[] merchandiseWithConstructors;

    public SuperMarket(String name, String location, int merchandiseCount) {
        this.name = name;
        this.location = location;
        merchandiseWithConstructors = new MerchandiseWithConstructor[merchandiseCount];

        String[] names = {"毛巾","茶杯","袜子","纸巾","牙膏","牙刷","瓜子","泡面","苹果","香蕉"};


        for (int i = 0; i < 10; i++) {
            int count = (int)(Math.random() * 10 + 2);

            double soldPrice = (int)((Math.random() * 10 +10) * 100) / 100 ;
            double purchesePrice = (int)((Math.random() * 10 + 3) * 100) / 100;
            MerchandiseWithConstructor x = new MerchandiseWithConstructor(i,names[i],count,soldPrice,purchesePrice);
            if (x instanceof MerchandiseWithConstructor) {
                merchandiseWithConstructors[i] = x;
            }
        }
    }


    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getLocation() {
        return location;
    }

    public void setLocation(String location) {
        this.location = location;
    }

    public MerchandiseWithConstructor[] getMerchandise() {
        return merchandiseWithConstructors;
    }

    public void setMerchandise(MerchandiseWithConstructor[] merchandise) {
        this.merchandiseWithConstructors = merchandise;
    }
}

测试代码

package day13;

import day12.Merchandise;

public class TestSuperMarket {
    public static void main(String[] args) {

        SuperMarket s = new SuperMarket("如海超市","中科路888号",10);

        for (MerchandiseWithConstructor m: s.merchandiseWithConstructors) {
            m.describe();
        }



    }
}

程序运行结果:


image.png

说明: 当我们不关心循环的次序的时候,可以使用类名 + 变量名 + : + 要循环的列表 实现。

        for (MerchandiseWithConstructor m: s.merchandiseWithConstructors) {
            m.describe();
        }
上一篇下一篇

猜你喜欢

热点阅读