数组

一堆数组的使用
取得数组长度 month.length
数组是从0开始索引的,数组的第一个元素是menth[0] //取得下标为0的数,也就是第一个数

//使用12月份的天数简单演示一下数组的使用方法


 class Meoth
{
    public static void main(String[] args)
    {
    //定义一个长度为12数组,并使用12月份的天数初始化
        int month[]={31,28,31,30,31,30,31,31,30,31,30,31};
           //注意:数组的下标(索引)从0开始
          //method.length里存储着month的长度
        for(int i=0;i<=month.length;i++)
        {
            System.out.println("第"+(i+1)+"月份天气为"+month[i]+"天");
        }
    }
}

一维数组
一维数组的声明与内存分配
1,声明数组
2,分配内存给该数组
语法例:
数据类型 [ ] 数组名; //声明一堆数组
数组名=new 数组类型[个数] //分配内存给数组
关键字new是命令编译器根据括号里的个数在内存中分配一块内存供该数组使用
例:
int [ ] score; //声明整型数组
score=new int[3]; //为整型数组score分配内存空间,其元素个数为3
两行变一行简化为例:
数据类型 [ ] 数组名 = new 数据类型 [个数];
int [ ] score = new int [11];

一维数组的使用

//创建一维数组,并输出默认初始值
import java.util.Random;//引入Java.util.Randon包
class Main
{
    public static void main(String args[])
    {
        //创建一个Random对象
        Random rand=new Random();
        //声明整数型数组a
        int[] a=null;
        //开辟内存空间,rand.nextInt(10)返回一个1到10的随机数
        a=new int[rand.nextInt(10)];

        System.out.println("数组的长度是"+a.length);

        for(int i=0;i<a.length;i++)

        {
            //rand.nextInt(100)返回一个1到100的随机数
            a[i]=rand.nextInt(100);
            System.out.println("a["+i+"]="+a[i]);
        }
    }
}


1,Java中Java.util包中的Random类作用是产生随机数
2,创建Random类型的对象rand,Random对象可以更加灵活产生随机数
3,nextInt()是类型Random对象中产生随机数的一种方法


**程序稍微修改   例**
import java.util.Random;
public class Main
{
    public static void main(String args[])
    {
        //创建一个Random对象
        Random rand=new Random();

        int[] a=null;     //声明整型数组a

        int[]b=null;     //声明整型数组b

        //动态申请内存,rand.nextInt(10)返回一个1到10的随机整型数
        a=new int[rand.nextInt(10)];

        b=a;    //将a数组的引用赋值给数组b这时a和b指向的数组对象是相同的。换句话说a和b是一套数组,两套名字

        System.out.println("数组a的长度是"+a.length);

        System.out.println("数组b的长度是"+b.length);

        for(int i=0;i<a.length;++i)

        {
            //rand.nextInt(100)返回一个0到100的随机整型
            a[i]=rand.nextInt(100);

            System.out.print("a["+i+"]="+a[i]+"\t");

            System.out.println("b["+i+"]="+b[i]);
        }
    }
}

判断数组最大值和最小值

//求数组最大值和最小值
public class Main
{
public static void main(String args[])
{
int max;
int min;
int[] a={1,3,2,0,8};
max=min=a[0];
for(int i=0;i<a.length;i++)
{
if(a[i]>max)
max=a[i];
if(a[i]<min)
min=a[i];
}
System.out.println(max);
System.out.println(min);
}
}

二维数组
1,二维数组声明方式和一维数组相似,内存分配一样用new这个关键字。其声明与分配内存的格式如下
数组类型[][] 数组名;
数组名=new 数据类型[行的个数][列的个数];
简洁方式如下
数据类型[][] 数组名=new 数据类型[行的个数][列的个数];
————————————————————————
2,如果想直接在声明时赋初始值,可以用大括号完成。只要在数组的声明格式后面加上所赋的初值即可,如下
数据类型[][] 数组名={
{第0行初值},
{第1行初值},
……
{第n行初值}
};

————————————————————————
*3,需要注意用户户不需要定义数组的长度,因此数组名后面的中括号里不必填入任何内容,此外在大括号内还有几组大括号,每组大括号内的初值会依次指定给数组的第0,1……n行元素。例

int[][] num ={
{23,45,21,45}, //二维数组第0行的初值赋值
{45,29,46,28} //二维数组第1行的初值赋值
};

语句声明了一个整型数组num,数组有2行4列共8个元素,大括号里的几组初值会分别依序制定给各行里的元素存放,num[0][0]为23,num[0][1]为45,……,num[1][3]为28。
————————————————————————
*4,Java在定义二维数组更加灵活,允许二维数组每行元素均不相同。例

int[][] num={
{42,54,34,67}, //本行4个元素
{33,34,36}, //本行3个元素
{12,34,56,78,90} //本行5个元素
};

————————————————————————
5,下面语句是声明整型数组num并分配空间,其中第一行有4个元素,第二行3个元素,第三行5个元素

int[][] num=null; //声明整型数组
num=new int[3][]; //分配空间
num[0]=new int[4]; //第一行元素为4
num[1]=new int[3]; //第二行元素为3
num[2]=new int[5]; //第三行元素为5

取得二维数组的行数与特定行的元素个数。利用length获取。例

数组名.length //取得数组的行数
数组名[行的索引].length//取得特定行元素个数

num.length; //计算数组num的行数其值为3
num[0].length; //计算数组的第一行元素个数其值为4
num[2].length; //计算数组num的第三行元素个数,其值为5

————————————————————————
二维数组的引用及访问

//演示二维数组的使用,这里采用静态赋值方式
public class twoDimensionArray
{
public static void main(String args[])
{
int sum=0;
int[][] num={
                    {30,35,26,32},
                    {33,34,30,29}
                    };  //声明数组并设置初值
for(int i=0;i<num.length;++i)
{
System.out.print("第"+(i+1)+"个人成绩为:  ");
for(int j=0;j<num[i].length;++j)
{
System.out.print(num[i][j] +"  ");
sum+=num[i][j];
}
System.out.println();
}
System.out.println("\n 总成绩是"+sum+"分");
}
}

————————————————————————
多维数组的使用

class twoDimensionArray
{
    public static void main(String args[])
    {
        int sum=0;
        int[][][]   a={
            {{5,1},{6,7}},
            {{9,4},{8,3}}
        };       //声明数组并设置初值
        //三维数组的输出需要采用三层for循环方式输出
        for(int i=0;i<a.length;++i)  //输出数组内容并计算总和
        {
            for(int j=0;j<a[i].length;++j)
            {
                for(int k=0;k<a[j].length;++k)
                {
                    System.out.print("a["+i+"]["+j+"]["+k+"]=");
                    System.out.println(a[i][j][k]);
                    sum+=a[i][j][k];
                }
            }
        }
        System.out.println("sum="+sum);
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容

  • 数组的定义: 一维数组的声明方式: type var[]; type[] var;一般使用后者,前者为c/c++...
    醒着的码者阅读 256评论 0 0
  • 第五章 数组 数组是一个基础的数据结构,它用来存储一组相同类型的元素的集合。数组非常有用,例如Java提供的集合...
    光剑书架上的书阅读 491评论 0 6
  • 数组类型和数组引用变量详解 数组类型为什么要用数组?Java数组的两大特征:定义数组时,不能指定数组的长度变量分为...
    Ansaxnsy阅读 2,867评论 2 3
  • 5.1数组简介 说明数组的概念的及其作用的最好方法,是通过一个例子,来说明使用数组后程序会变得非常简单 5.1.1...
    全無阅读 852评论 0 1
  • 5.1 什么是数组 问:编写代码保存 4 名学生的考试成绩。答:简单啊,定义 4 个变量呗问:那“计算全年级 40...
    夏沫xx阅读 484评论 0 2