`

day_05_Java数组

阅读更多

星期四, 十一月 05, 2015 14:16

 

一:一维数组

 

       数组是有序数据集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和下标来唯一地确定数组中的元素。

 

1.数组的声明和内存分配

 

      -----要使用Java的数组,必须经过2个步骤:

             a. 声明数组

             b.分配内存给该数组

 

     -----格式

             数据类型  数组名[];                      //声明一维数组

             数组名  = new  数据类型[个数];    //分配内存给数组

 

             数据类型 数组名[] = new 数据类型[个数]

 

      ----解析

            数组类型:

                    ---是声明数组元素的数据类型,

                    ---常见的类型: 整型、浮点型、字符型

          数组名:

                ---用来统一这组相同数据类型的元素的名称,其命名规则和变量相同(小大大)

 

           new:

               ---是命令编译器根据括号里的个数,在内存一块内存中开辟一块内存供数组使用。

          事例~

              int score[];

              score = new int[3];

             变量score所保存的并非是数组的实体,而是数组实体的参考地址.

 

 

 

代码案例:

        声明一个一维数组,其长度为3,利用for循环输出数组的内容后,再输出数组的元素个数。

 

package day03;

 

public class TestArray {

/* 声明一个以为数组,其长度为3,利用for循环输出数组的内容后,再输出数组的元素个数。*/

 

public static void main(String[] args) {

int arrayOne[] = new int[3];

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

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

}

System.out.println("数组的个数为:"+arrayOne.length);

}

}

运行结果:

 

arrayOne[0]=0 arrayOne[1]=0 arrayOne[2]=0 数组的个数为:3

 

 

2.数组的赋值

 

    ----格式

        数据类型 数组名[] = {初值0,初值1,....,初值n}

 

    ----例子

        int day[] = {12,23,45};//数组声明并赋值

 

3.数组的应用范例

    

     索引就像房间的编号,先找到某个房间,先找到编号!

     说明如何将数组里的最大值及最小值列出。

 

package day03;

 

public class TestArray {

/* 声明一个以为数组,其长度为3,利用for循环输出数组的内容后,再输出数组的元素个数。*/

 

public static void main(String[] args) {

          /*说明如何将数组里的最大值及最小值列出。*/

int a[] = {1,3,5,37,25};

/*需要先进行赋值*/

int max = a[0];

int min = a[0];

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

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

if(max < a[i]) {

max = a[i];

}

if(min > a[i]){

min = a[i];

}

}

System.out.println();

System.out.println("max="+max);

System.out.println("min="+min);

}

}

 

运行结果:

 

1 3 5 37 25

max=37

min=1

 

 

4.与数组有关的API方法

 

   ----查阅相关的文档

   ----简单介绍数组的拷贝,数组的排序

 

 

java api

     http://docs.oracle.com/javase/7/docs/api/

 

 

  

a.arraycopy复制数组的使用

 

   参考:API

        ----  arraycopy(Object src,  int  srcPos, Object dest, int destPos,int length);

   参数:可查询api+google

       原数组,原起始位置,目的数组,目的起始位置,复制的长度

 

代码案例:

     package day03;

 

public class TestArrayCopy {  

public static void main(String[] args) {

/*api   arraycopy方法

* 在一维数组中使用,arraycopy方法,会改变原目的的数组*/

int a1[] = {1,3,2};

int a2[] = {2,5,1,2,5,1,98};

System.arraycopy(a1, 0, a2, 3, 3);

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

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

}

 

 

}

}

运行结果:

    2 5 1 1 3 2 98

 

b.sort排序的使用

  

    参考API或google

        ---sort(int[] a, int fromIndex, int toIndex)

     参数: 数组,排序起始位置,排序结束位置

 

代码案例:

package day03;

 

import java.util.Arrays;

 

public class TestArray {

public static void main(String[] args) {

/*使用sort方法进行排序*/

int s1[] = {1,4,2,5,8};

   Arrays.sort(s1,0,4);

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

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

   }

   

 

}

}

 

运行结果:

    1 2 4 5 8

 

 

 

二:二维数组

 

    由于一维数组不满足实际的应用,所以需要二维或多维数组。

 

1.二维数组的声明与分配内存

  

2.格式

 

      数据类型  数组名[][];

      数组名 = new 数据类型[行的个数][列的个数];

     ----数据类型  数组名[][] = new 数据类型[行的个数][列的个数];

 

3.数组赋值

 

      如果想直接在声明时就对数组赋初值,可以利用大括号完成。

      只要在数组的声明格式后面再加上所赋的初值即可。

 

     数据类型 数组名[][] = {{第0号初值},{第1行的初值},....{第n行初值}}

   

    注意:

         用户不需要定义数组的长度。

       

4.数组展示类型

      ----每行的元素个数不同的数组

  

代码案例:

package day03;

 

import java.util.Arrays;

 

public class TestArrayTwo {

public static void main(String[] args) {

/*每行的元素个数不同的数组*/

int a[][] = {{11,22,33,44,55},{66,77,88,99}};

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

for(int j = 0;j < a[i].length;j++ ) {

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

}

System.out.print("\n");

}

}

}

 

运行结果:

11 22 33 44 55

66 77 88 99

 

 

    ----取得二维数组的行数与特定行数的元素的个数

 

    语法:

         数组名.length              //取得数组的行数

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

 

 

 

5.二维数组元素的引用与访问

   

   案列见上述代码案例

 

三.多维数组

  

   以三维数组为例,在声明数组时即赋初值,再将其元素值输出并计算总和。

   

  代码案例:

package day03;

 

import java.util.Arrays;

 

public class TestArray {

public static void main(String[] args) {

/*维数组的赋值与输出*/

 

int a[][][] = {{{5,1},{6,7}},{{8,9},{11,12}}};

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

    for (int j = 0; j<a[i].length;j++) {

    for(int k = 0;k<a[i][j].length;k++){

    System.out.println("a["+i+"]"+"["+j+"]"+"["+k+"]="+a[i][j][k]);

    }

    }

   }

}

}

 

运行结果:

a[0][0][0]=5

a[0][0][1]=1

a[0][1][0]=6

a[0][1][1]=7

a[1][0][0]=8

a[1][0][1]=9

a[1][1][0]=11

a[1][1][1]=12

 

星期四, 十一月 05, 2015 15:45:47

分享到:
评论

相关推荐

    21day_learn_java.rar_DayCounter.java

    在深入学习过程中,学习者可以逐渐了解并掌握Java中的各种重要概念,如变量声明与初始化、基本数据类型与操作、数组、控制流语句(如if-else、switch、for和while循环)、面向对象编程(OOP)的核心概念(类、对象、...

    传智播客_Java培训_毕向东_Java基础源代码day03

    【Java基础源代码day03】是传智播客Java培训课程中毕向东老师讲解的一天教学内容,主要涵盖了Java编程语言的基础知识点。在这一天的学习中,学生将深入理解Java的核心概念,为后续的Java开发打下坚实的基础。以下是...

    传智博客_Java培训_毕向东_Java基础课件

    2. **Java基础语法**(day04-函数与数组.doc、传智播客_Java培训_毕向东_Java基础[02-Java基础语法1].pdf、[02-Java基础语法2].pdf):这部分深入讲解了Java的基本语法,包括变量、数据类型、运算符、控制结构(如if...

    Java基础复习day03数组

    Java数组是一种数据类型,引用类型,用于存放一组数据的数据结构。数组的定义、创建、访问、长度属性、遍历、常用Arrays类、二维数组、方法递归调用经典案例、变量源码教程等。 一、数组的定义 数组是一种数据类型...

    传智播客_Java培训_毕向东_Java基础源代码_day02

    在本资源"传智播客_Java培训_毕向东_Java基础源代码_day02"中,我们聚焦于Java编程语言的基础学习,由知名讲师毕向东指导。这个压缩包包含了day02的学习材料,主要是源代码,是为初学者精心准备的实践教程。 Java是...

    传智播客_Java培训_毕向东_Java基础源代码day02

    本资源“传智播客_Java培训_毕向东_Java基础源代码day02”聚焦于Java的基础学习,由知名教育机构传智播客提供,由资深讲师毕向东指导,旨在帮助初学者快速掌握Java编程的核心概念。 源代码是编程中的关键部分,它是...

    传智播客_Java培训_毕向东_Java基础源代码_day01

    2. **数据类型**:Java分为两种数据类型,基本数据类型(如int、char、boolean)和引用数据类型(类、接口、数组)。理解每种数据类型的存储和使用方式是编程的基础。 3. **变量**:变量是存储数据的容器。在Java中...

    day04-Java数组.md

    day04-Java数组.md

    传智播客_Java培训_毕向东_Java基础源代码day04

    本资源“传智播客_Java培训_毕向东_Java基础源代码day04”聚焦于Java的基础学习,由知名教育机构传智播客的资深讲师毕向东讲解。在第四天的学习中,我们可以期待深入探讨一些核心的Java编程概念。 1. **变量与数据...

    学习笔记java\CoreJava笔记\CoreJava_day05

    在CoreJava_day05的学习笔记中,我们主要探讨了数组、二维数组以及生成随机数的三种方法。同时,还涉及到了String对象的不同状态。 首先,数组是Java中的基础数据结构,它是一个元素的集合,可以存储基本类型(如...

    day17 java

    创建一个新的Java工程,可以通过菜单栏的File -&gt; New -&gt; Java Project,然后输入工程名称,比如按照学习进度命名(例如day01)。 **Eclipse使用技巧:** 1. **创建Java工程**:通过File -&gt; New -&gt; Java Project,...

    Wiley_Java in 60 Minutes a Day_2003

    3. **数组**:介绍如何声明和操作单维和多维数组,以及数组在内存中的存储方式。 4. **字符串处理**:Java中的String类是非常重要的,学习如何创建、操作和比较字符串。 5. **异常处理**:Java提供了异常处理机制...

    java15_day02_base_song71b_aloudhyb_arraydemo_

    在这个"java15_day02_base_song71b_aloudhyb_arraydemo_"的学习资料中,我们将会深入探讨Java中数组的常见用法。 首先,数组的声明和初始化是学习数组的基本步骤。在Java中,你可以声明一个数组类型,然后分配空间...

    达内Java培训-CoreJava全程笔记(WORD唐亮版)

    CoreJava DAY03 数组 11 CoreJava DAY04 15 CoreJava DAY05 面向对象 17 CoreJava DAY06 类的加载过程、实例化、继承、多态 20 CoreJava DAY07修饰符 26 CoreJava DAY08 常用类 29 CoreJava DAY09 高级语言特征 30 ...

    day05【数组】1

    每个数组都具有长度,而且是固定的,Java 中赋予了数组的一个属性,可以获取到数组的长度,语句为:数组名.length,属性 length 的执行结果是数组的长度,int 类型结果。 索引访问数组中的元素 数组名[索引] = 数值...

    basic_day01_v1_pm_all.zip

    "basic_day01_v1_pm_all.zip"这个压缩包文件显然包含了针对Java初学者的基础教学材料。在这个压缩包中,"basic"可能是一个目录或者一系列以"basic"开头的文件,代表着Java的基本概念和语法。 首先,Java基础通常...

    java_diary_18.rar_JFC_swing_反射机制_国际化 java

    Day01:java环境与数据类型 Day02:数据运算与数组 Day03:面向对象 Day04:修饰符与类权限 Day05:类与接口 Day06:集合类型 Day07:反射机制与内部类 Day08:异常与Swing图形界面 Day09:swing图形界面与AWT事件...

    day002 JAVA语法基础-数组入门.doc

    在"day002 JAVA语法基础-数组入门"的学习中,我们将深入理解数组的概念、定义、初始化以及基本操作。 首先,数组是计算机内存中连续分配的一块区域,用于存储同类型的数据。它由四个主要组成部分组成:数组名,用于...

    达内 CoreJava老师笔记汇总

    CoreJava DAY03 数组 20 CoreJava DAY04 27 CoreJava DAY05 面向对象 31 CoreJava DAY06 类的加载过程、实例化、继承、多态 37 CoreJava DAY07修饰符 50 CoreJava DAY08 常用类 56 CoreJava DAY09 高级语言特征 58 ...

Global site tag (gtag.js) - Google Analytics