⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 0103.htm

📁 学习java必备书籍
💻 HTM
字号:
<html>

<head>
<title>新时代软件教程:操作系统 主页制作 服务器 设计软件 网络技术 编程语言 文字编辑</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style>
<!--
body, table {font-size: 9pt; font-family: 宋体}
a {text-decoration:none}
a:hover {color: red;text-decoration:underline}
.1  {background-color: rgb(245,245,245)}
-->
</style>
</head>
<p align="center"><script src="../../1.js"></script></a>
    <p align="center"><big><strong>第五章 数组</strong></big></p>

    <p><br>
    数组是有序数据的集合,数组中的每个元素具有相同的数组名和下标来唯一地确定数组中的元素。<br>
    <br>
    <font face="Arial" color="#008000">§5.1</font><font color="#008000">一维数组</font><br>
    <br>
    <font color="#008000">一、一维数组的定义</font><br>
    <br>
    
    type arrayName[];<br>  
    <br>  
    </font>  
    其中类型(type)</font>可以为Java</font>中任意的数据类型,包括简单类型组合类型,数组名arrayName</font>为一个合法的标识符,[]</font>指明该变量是一个数组类型变量。例如:<br> 
    <br> 
     
    int intArray[];<br>  
    <br>  
    </font>  
    声明了一个整型数组,数组中的每个元素为整型数据。与C</font>、C++</font>不同,Java</font>在数组的定义中并不为数组元素分配内存,因此[]</font>中不用指出数组中元素个数,即数组长度,而且对于如上定义的一个数组是不能访问它的任何元素的。我们必须为它分配内存空间,这时要用到运算符new</font>,其格式如下:<br> 
    <br> 
     
    arrayName=new type[arraySize];<br>  
    <br>  
    </font>  
    其中,arraySize</font>指明数组的长度。如:<br> 
    <br> 
     
    intArray=new int[3];<br>  
    <br>  
    </font>  
    为一个整型数组分配3</font>个int</font>型整数所占据的内存空间。<br> 
    <br> 
    通常,这两部分可以合在一起,格式如下:<br> 
    <br> 
     
    type arrayName=new type[arraySize];&nbsp;<br> 
    <br> 
    </font> 
    例如:<br> 
    <br> 
    
    int intArray=new int[3];<br>  
    <br>  
    </font>  
    <font color="#008000">二、一维数组元素的引用</font><br> 
    <br> 
    定义了一个数组,并用运算符new</font>为它分配了内存空间后,就可以引用数组中的每一个元素了。数组元素的引用方式为:<br>
    <br>
    
    arrayName[index]<br>
    <br>
    </font>
    其中:index</font>为数组下标,它可以为整型常数或表达式。如a[3]</font>,b[i](i</font>为整型)</font>,c[6*I]</font>等。下标 从0</font>开始,一直到数组的长度减1</font>。对于上面例子中的in-tArray</font>数来说,它有3</font>个元素,分别为:&nbsp;<br>
    <br>
    intArray[0]</font>,intArray[1]</font>,intArray[2]</font>。注意:没有intArray[3]</font>。<br>
    <br>
    另外,与C</font>、C++</font>中不同,Java</font>对数组元素要进行越界检查以保证安全性。同时,对于每个数组都有一个属性length</font>指明它的长度,例如:intArray.length</font>指明数组intArray</font>的长度。<br>
    <br>
    例5.1<br>
    <br>
    public class ArrayTest{<br>  
    public static void main(String args[]){<br>  
    int i;<br>  
    int a[]=newint[5];<br>  
    for(i=0;i</font><5;i++)<br> 
    a[i]=i;<br> 
    for(i=a.length-1;i</font>>=0;i--)<br> 
    System.out.println("a["+i+"]="+a[i]);<br> 
    }<br> 
    }<br> 
    <br> 
    </font> 
    运行结果如下:<br> 
    <br> 
     
    C:\</font>>java ArrayTest<br>  
    <br>  
    a[4]=4<br>  
    a[3]=3<br>  
    a[2]=2<br>  
    a[1]=1<br>  
    a[0]=0<br>  
    <br>  
    </font>  
    该程序对数组中的每个元素赋值,然后按逆序输出。<br>  
    <br>  
    <font color="#008000">三、一维数组的初始化<br> 
    </font><br> 
    对数组元素可以按照上述的例子进行赋值。也可以在定义数组的同时进行初始化。<br> 
    <br> 
    例如:<br> 
    <br> 
    
    int a[]={1</font>,2</font>,3</font>,4</font>,5};<br> 
    <br> 
    </font> 
    用逗号(</font>,)</font>分隔数组的各个元素,系统自动为数组分配一定空间。<br> 
    <br> 
    与C</font>中不同,这时Java</font>不要求数组为静态(static)</font>。<br> 
    <br> 
    <font color="#008000">四、一维数组程序举例:<br>
    </font><br>
    例5.2Fibonacci</font>数列<br>
    <br>
    
    Fibonacci</font>数列的定义为:<br>
    <br>
    
    F1=F2=1</font>,Fn=Fn-1+Fn-2(n</font>>=3)<br>
    <br>
    public classFibonacci{<br>  
    public static void main(String args[]){<br>  
    int i;<br>  
    int f[]=new int[10];<br>  
    f[0]=f[1]=1;<br>  
    for(i=2;i</font><10;i++)<br> 
    f[i]=f[i-1]+f[i-2];<br> 
    for(i=1;i</font><=10;i++)<br> 
    System.out.println("F["+i+"]="+f[i-1]);<br> 
    }<br> 
    }<br> 
    <br> 
    </font> 
    运行结果为:<br> 
    <br> 
     
    C:\</font>>java Fibonacci<br>  
    <br>  
    F[1]=1<br>  
    F[2]=1<br>  
    F[3]=2<br>  
    F[4]=3<br>  
    F[5]=5<br>  
    F[6]=8<br>  
    F[7]=13<br>  
    F[8]=21<br>  
    F[9]=34<br>  
    F[10]=55<br>  
    <br>  
    </font>  
    例5.3</font>冒泡法排序(</font>从小到大)<br> 
    <br> 
    </font> 
    冒泡法排序对相邻的两个元素进行比较,并把小的元素交到前面。<br> 
    <br> 
     
    public class BubbleSort{<br>  
    public static void main(String args[]){<br>  
    int i</font>,j;<br> 
    int intArray[]={30</font>,1</font>,-9</font>,70</font>,25};<br> 
    int l=intArray.length;<br>  
    for(i=0;i</font><l-1;i++)<br> 
    for(j=i+1;j</font><l;j++)<br> 
    if(intArray[i]</font>>intArray[j]){<br> 
    int t=intArray[i];<br>  
    intArray[i]=intArray[j];<br>  
    intArray[j]=t;<br>  
    }<br>  
    for(i=0;i</font><l;i++)<br> 
    System.out.println(intArray[i]+"");<br> 
    }<br> 
    }<br> 
    <br> 
    </font> 
    运行结果为:<br> 
    <br> 
     
    C:\</font>>java BubbleSort<br>  
    -9<br>  
    1<br>  
    25<br>  
    30<br>  
    70<br>  
    <br>  
    <font color="#008000">§5.2</font></font><font color="#008000">多维数组<br> 
    </font><br> 
    与C</font>、C++</font>一样,Java</font>中多维数组被看作数组的数组。例如二维数组为一个特殊的一维数组,其每个元素又是一个一维数组。下面我们主要以二维数为例来进行说明,高维的情况是类似的。<br>
    <br>
    <font color="#008000">一、二维数组的定义<br>
    </font><br>
    二维数组的定义方式为:<br>
    <br>
    
    type arrayName[][];<br>  
    <br>  
    </font>  
    例如:<br>  
    <br>  
     
    int intArray[][];<br>  
    <br>  
    </font>  
    与一维数组一样,这时对数组元素也没有分配内存空间,同要使用运算符new</font>来分配内存,然后才可以访问每个元素。<br> 
    <br> 
    对高维数组来说,分配内存空间有下面几种方法:<br> 
    <br> 
     
    1</font>直接为每一维分配空间,如:<br> 
    <br> 
     
    int a[][]=new int[2][3];<br>  
    <br>  
    2</font>从最高维开始,分别为每一维分配空间,如:<br>  
    <br>  
     
    int a[][]=new int[2][];<br>  
    a[0]=new int[3];<br>  
    a[1]=new int[3];<br>  
    <br>  
    </font>  
    完成1</font>中相同的功能。这一点与C</font>、C++</font>是不同的,在C</font>、C++</font>中必须一次指明每一维的长度。<br> 
    <br> 
    <font color="#008000">二、二维数组元素的引用</font><br>
    <br>
    对二维数组中每个元素,引用方式为:arrayName[index1][index2] 
    </font> 其中index1</font>、index2</font>为下标,可为整型常数或表达式,如a[2][3]</font>等,同样,每一维的下标都从0</font>开始。<br> 
    <br> 
    <font color="#008000">三、二维数组的初始化<br>
    </font><br>
    有两种方式:<br>
    <br>
    
    1</font>直接对每个元素进行赋值。<br>
    <br>
    
    2</font>在定义数组的同时进行初始化。<br>
    <br>
    如:int a[][]={{2</font>,3}</font>,{1</font>,5}</font>,{3</font>,4}};<br> 
    <br> 
    </font> 
    定义了一个3×2</font>的数组,并对每个元素赋值。<br> 
    <br> 
    四、二维数组举例:<br> 
    <br> 
    例5.4</font>矩阵相乘<br> 
    <br> 
    两个矩阵Am×n</font>、Bn×l</font>相乘得到Cm×l</font>,每个元素Cij=

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -