一维数组、多维数组

  • 时间:2018-12-26 23:25 作者:海若Hero 来源:海若Hero 阅读:503
  • 扫一扫,手机访问
摘要:1.1 一维数组什么是数组?数组可以存放多个同一类型数据。数组一、关于数组的用法,有三种方式:1、程序员用法1 、数组的定义数据类型 数组名[]=new 数据类型[数组大小];int a[]=new int[5];//定义一个数组名为a的整型数组,并可以放入5个整型数。说明:这是定义数组的一种方法。

1.1 一维数组

什么是数组?

数组可以存放多个同一类型数据。

数组

一、关于数组的用法,有三种方式:1、程序员用法

1 、数组的定义

数据类型 数组名[]=new 数据类型[数组大小];

int a[]=new int[5];//定义一个数组名为a的整型数组,并可以放入5个整型数。

说明:这是定义数组的一种方法。

a|a[0]|a[1]|a[2]|a[3]|a[4]|电脑中的数组

3楼|301房|302房|303房|304房|305房|现实中的楼房

楼是存在地球上的,那么数组是存在哪里的呢?-->电脑内存中

2 、数组的引用(使用)

数组名[下标]

比方:你要使用a数组的第三个数a[2]

二、关于数组的用法,有几种方式:2、没事找事用法

第一步:先公告数组

语法:数据类型 数组名[]; 也可以 数据类型[] 数组名;

例:int a[];或者者int[] a;

第二步:创立数组

语法:数组名=new 数据类型[数组大小];

例:a=new int[10];

第三步:数组的引用(使用)

语法:数组名[下标]

例:引用a数组的第8个元素 a[7]

要想知道数组的大小可以使用数组的length方法

语法:数组名.length

三、关于数组的用法,有几种方式:3、古板用法 (当已知元素值的时候可以使用此法)

1、初始化数组

语法:数据类型 数组名[]={元素值,元素值...};

例:int a[]={2,5,6,7,8,89,90,34,56}

上面的用法相当于:

int a[]=new int[9]int a[0]=2;int a[1]=5;int a[2]=6;...a[8]=56;

2、数组的引用(使用)

语法:数组名[下标]

例:a数组的第8个元素a[7]

一个养鸡场有6只鸡,它们的体重分别是3kg、5kg、1kg,3.4kg、2kg、50kg。请问这六只鸡的总体重是多少?平均体重是多少?请你编写一个程序。

//数组的必要性[Demo129.java]public class Demo129 {    public static void main(String[] args) {        //定义一个可以存放六个float类型的数组        float arr[]=new float[6];        //使用for循环赋值        //给数组的各个元素赋值        arr[0]=3;        arr[1]=5;        arr[2]=1;        arr[3]=3.4f;        arr[4]=2;        arr[5]=50;        //计算总体重[遍历数组]        float all=0;        for(int i=0;i<6;i++){            all+=arr[i];        }        System.out.println("总体重是:"+all);    }}

数组--一维数组

在运动会上,五个小孩比赛滑轮,他们划完100米用时,分别用了10s/12s/5.7s/9s/14s,请编写一个程序,计算他们的平均时间?

public class Demo130{    public static void main(String []args){        //使用古板法定义数组并给数组赋值        float time[]={10,12,5.7f,9,14};        float zs=0;        for(int i=0;i<time.length;i++){            zs+=time[i];        }        System.out.println("百米平均用时:"+(zs/time.length)+"s");        //如何知道数组的大小?使用数组的length方法便可知道数组大小        System.out.println(time.length);    }}

数组

请思考,既然int,float,double..等都可以有数组,那么可不可以有对象数组呢?

对前面的养鸡场的题,进行更新,题要求如下:

一个养狗场有4只狗,分别是:

名字 体重

花花 4.5kg

白白 5.6kg

黑黑 78kg

红红 9.0kg

请编写一个程序,可以计算他们的平均体重,可以找出体重最大和最小的狗的名字,可以通过输入狗的名字,查找它的体重。

//对象数组的使用[Demo131.java]//import java.io.*;import java.util.*;public class Demo131 {    public static void main(String[] args) throws Exception {//throws Exception将输入错误踢除程序块        //定义一个对象数组可以存放四只狗的对象数组        Dog dogs[]=new Dog[4];        //给各个狗赋初值    /*  dogs[0]=new Dog();        dogs[0].setName("花花");        dogs[0].setWeight(4.5f);        dogs[]*/        //从控制台输入各个狗的信息    //  InputStreamReader isr=new InputStreamReader(System.in);    //  BufferedReader br=new BufferedReader(isr);        Scanner sr=new Scanner(System.in);        for(int i=0;i<4;i++){            dogs[i]=new Dog();//必须要使用new方法将数组指向Dog类            System.out.println("请输入第"+(i+1)+"狗名");            //从控制台读取狗名            String name=sr.nextLine();            //将名字赋给对象            dogs[i].setName(name);//将狗名使用set方法传入Dog类中            System.out.println("请输入"+(i+1)+"狗的体重");            String s_weight=sr.nextLine();            float weight=Float.parseFloat(s_weight);            //将名字赋给对象            dogs[i].setWeight(weight);//将狗体重使用set方法传入Dog类中        }        //计算总体重        float allWeight=0;        for(int i=0;i<4;i++){            allWeight+=dogs[i].getWeight();//将dogs数组中的狗体重从Dog类中取出并累加赋值给总体重        }        //计算平均体重        float avgWeight=allWeight/dogs.length;        System.out.println("总体重="+allWeight+"\t平均体重="+avgWeight);                //找出体重最大的狗        //假设第一狗体重最大        float maxWeight=dogs[0].getWeight();        int maxIndex=0;//定义用于比较体重的下标        //依次和第一只狗比较体重        for(int i=1;i<dogs.length;i++){            if(maxWeight<dogs[i].getWeight()){                //如何比较的狗体重大于第一只狗的体重则进行修改                maxWeight=dogs[i].getWeight();                maxIndex=i;            }        }        //找出体重最小的狗        float minWeight=dogs[0].getWeight();        int minIndex=0;        for(int j=1;j<dogs.length;j++){            if(minWeight>dogs[j].getWeight()){                //如何比较的狗体重小于第一只狗的体重则进行修改                minWeight=dogs[j].getWeight();                minIndex=j;            }        }        System.out.println("体重大的狗是第"+(maxIndex+1)+"狗,名字叫:"+dogs[maxIndex].getName()+"\t体重是"+maxWeight);        System.out.println("体重小的狗是第"+(minIndex+1)+"狗,名字叫:"+dogs[minIndex].getName()+"\t体重是"+minWeight);        //输入狗的名字查狗的体重        System.out.println("请输入你要找的狗的名字:");        String cname=sr.nextLine();        int cIndex=0;        for(int k=0;k<dogs.length;k++){            if(cname.equals(dogs[k].getName())){//比照狗名。变量名.equals()方法用于字符串比较内容能否一致。                System.out.println("你要找狗名"+ dogs[cIndex].getName()+"\t体重是"+dogs[cIndex].getWeight());            }        }    }}//定义一个狗类class Dog{    private String name;    private float weight;    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public float getWeight() {        return weight;    }    public void setWeight(float weight) {        this.weight = weight;    }}

一维数组 -- 小结

1、数组可存放同一类型数据;

2、简单数据类型(int,float)数组,可直接赋值;

3、对象数组在定义后,赋值时需要再次为每个对象分配空间[即:new 对象];

4、数组大小必需事前指定;

5、数组名可以了解为指向数组首地址的引用;

6、数组的下标是从0开始编号的。

===============================================================================

1.1 多维数组

多维数组--二维数组

多维数组我们只详情二维数组

1、定义

语法:类型 数组名[][]=new 类型[大小][大小];

比方:int a[][]=new int[2][3];

2、分析

二维数组在内存中存在的形式

3、案例,请用二维数组输出如下图形

0 0 0 0 0 0

0 0 1 0 0 0

0 2 0 3 0 0

0 0 0 0 0 0

//二维数组演示[Demo138.java]public class Demo138 {    public static void main(String[] args) {        int a[][]=new int[4][6];//定义二维数组a4行6列        a[1][2]=1;        a[2][1]=2;        a[2][3]=3;        //把图形输出        for(int i=0;i<4;i++){//控制行            for(int j=0;j<6;j++){//控制列                System.out.print(a[i][j]+"\t");//输出数组            }            System.out.println();//换行        }    }}

tobehero666.png
  • 全部评论(0)
最新发布的资讯信息
【系统环境|】2FA验证器 验证码如何登录(2024-04-01 20:18)
【系统环境|】怎么做才能建设好外贸网站?(2023-12-20 10:05)
【系统环境|软件环境】梦幻仙域游戏攻略(2023-12-19 10:02)
【系统环境|软件环境】梦幻仙域游戏攻略(2023-12-19 10:02)
【系统环境|】卡帕部落揭秘潮玩新宠,探究玩法(2023-12-14 09:45)
【系统环境|数据库】 潮玩宇宙游戏道具收集方法(2023-12-12 16:13)
【系统环境|】如何开发搭建卡帕部落模式源码(2023-12-12 10:44)
【系统环境|】遥遥领先!青否数字人直播系统5.0发布,支持真人接管实时驱动!(2023-10-12 17:31)
【系统环境|服务器应用】克隆自己的数字人形象需要几步?(2023-09-20 17:13)
【系统环境|】Tiktok登录教程(2023-02-13 14:17)
手机二维码手机访问领取大礼包
返回顶部