java自学篇之数组1

第四章 数组与方法

若想要存放一连串相关的数据,使用数组是个相当好用的选择。此外,如果某个程序片段经常反复出现,那么将它定义成一个方法可以有效地简化程序代码。

数组是由一组相同类型的变量所组成的数据类型,它们以一个共同的名称表示。

一维数组

一维数组可以存放上千万个数据,并且这些数据的数据类型相同。

一维数组的声明和内存存储

一维数组的声明和内存的分配

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

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

数组的数据类型和变量的数据类型一样,数组名的命名原则本着简单明了,和标识符的命令原则一样,这里实用new关键字来定义数组的个数,也就是在内存中存储多少个数据。

实例:

int  a[];                   //声明一个int类型的a数组

a = newint[3];              //分配的内存空间是存储3个元素

声明数组的时候同时分配内存空间

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

int a[] = new int[3]

在这个内存的存储上占多少个字节呢,一个int 型数据占4个字节,这个a数组有3个元素,所有在内存中的大小为3*4=12个字节。

数组元素的表示方法

想要使用数组里的元素,可以利用索引来完成。Java 的数组索引编号由 0 开始,

以上一节中的a数组为例, a[0]代表第1个元素, a[1]代表第2个元素,a[2]代表第3个元素。

实例

public classjava41

{

public static void main(String []args)

{

int i,a[];

a=new int[3];

for(i=0;i<3;i++)

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

System.out.println("\n shu zu chang dushi :"+a.length);

}

}

这里实用了一个参数是.length,是获取数组的长度

格式:数组名.length

数组的赋值

数据类型数组名[] = {初值 0,初值 1,…,初值 n}(一般程序中实用这种格式来声明数组和分配内存)

int a[] = { 1,2,3,4,5 }

也可以先声明数组在赋值

Int a[] = new int[];

a[0] = 1;

a[1] = 2;

a[2] = 3;

实例:数组中的最大值和最小值

public class java42

{

public static void main(String [] args)

{

int max,min,i,a[]={23,56,28,72,97};

max=min=a[0];

System.out.print("shu zu yuan su : ");

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

{

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

if(a[i]>max)

max=a[i];

if(a[i]<min)

min=a[i];

}

System.out.println("\n shu zu max: "+max);

System.out.println("shu zu min: "+min);

}

}

实例:数组内元素的排序,实用的关键字是sort 方法对数组进行排序,Arrays.sort(数组名)为数组排序的操作。

importjava.util.*;

public classjavasz

{

public static void main(String [] args)

{

int a[] = {4,8,23,21,46,33,2,1};

int b;

b=a.length;

System.out.print("shu zu pai xu qianshun xu : ");

for(int i=0;i<b;i++)

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

Arrays.sort(a);

System.out.print("\n shu zu pai xu houde xu lie : ");

for(int i=0;i<b;i++)

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

}

}

这个例子中实用了这个包的概念,这里只是一提,等后期还会详细讲解。

二维数组和多维数组

二维数组的声明格式

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

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

二维数组的声明格式

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

二维数组的声明和赋值

数据类型数组名[][] = { {第 0 行初值},

{第1 行初值},

{第n 行初值},

};

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

实例:

int sum[][] = {

{20,30,25},

{33,24,54},

}

值得一提的是 Java 允许二维数组中每行的元素个数均不相同,这点与一般的程序语言是不同的。

Int a[][] = {

{43,87,74},

{32,44,24,98},

{23,42,65},

}

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

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

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

二维数组的使用

实例

public classjavaew

{

public static void main(String [] args)

{

int a[][]={

{63,72,59},

{78,49,64}

};

int i,j,sum;

sum = 0;

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

{

System.out.print("di yi hang neirong :");

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

{

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

sum+=a[i][j];

}

System.out.println();

}

System.out.println("\n zong cheng ji shi: "+sum);

}

}

三维数组,和二位数组的声明和赋值格式一样,但是在再输出的时候加一个for循环。

实例:

public classjava43

{

public static void main(String [] args)

{

int i,j,k;

int sz[][][] ={{{2,34,24,45},{23,55,32,4}},{{32,43,34,3},{43,54,21,4}}};

for(i=0;i<sz.length;i++)

for(j=0;j<sz[i].length;j++)

for(k=0;k<sz[j].length;k++)

{

System.out.print("su["+i+"]["+j+"]["+k+"]= ");

System.out.println(sz[i][j][k]);

}

}

}

这里容易出错的位置是数组赋值的时候。容易混淆,慢慢来希望你能成功。

第四章 数组与方法

若想要存放一连串相关的数据,使用数组是个相当好用的选择。此外,如果某个程序片段经常反复出现,那么将它定义成一个方法可以有效地简化程序代码。

数组是由一组相同类型的变量所组成的数据类型,它们以一个共同的名称表示。

一维数组

一维数组可以存放上千万个数据,并且这些数据的数据类型相同。

一维数组的声明和内存存储

一维数组的声明和内存的分配

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

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

数组的数据类型和变量的数据类型一样,数组名的命名原则本着简单明了,和标识符的命令原则一样,这里实用new关键字来定义数组的个数,也就是在内存中存储多少个数据。

实例:

int  a[];                   //声明一个int类型的a数组

a = newint[3];              //分配的内存空间是存储3个元素

声明数组的时候同时分配内存空间

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

int a[] = new int[3]

在这个内存的存储上占多少个字节呢,一个int 型数据占4个字节,这个a数组有3个元素,所有在内存中的大小为3*4=12个字节。

数组元素的表示方法

想要使用数组里的元素,可以利用索引来完成。Java 的数组索引编号由 0 开始,

以上一节中的a数组为例, a[0]代表第1个元素, a[1]代表第2个元素,a[2]代表第3个元素。

实例

public classjava41

{

public static void main(String []args)

{

int i,a[];

a=new int[3];

for(i=0;i<3;i++)

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

System.out.println("\n shu zu chang dushi :"+a.length);

}

}

这里实用了一个参数是.length,是获取数组的长度

格式:数组名.length

数组的赋值

数据类型数组名[] = {初值 0,初值 1,…,初值 n}(一般程序中实用这种格式来声明数组和分配内存)

int a[] = { 1,2,3,4,5 }

也可以先声明数组在赋值

Int a[] = new int[];

a[0] = 1;

a[1] = 2;

a[2] = 3;

实例:数组中的最大值和最小值

public class java42

{

public static void main(String [] args)

{

int max,min,i,a[]={23,56,28,72,97};

max=min=a[0];

System.out.print("shu zu yuan su : ");

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

{

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

if(a[i]>max)

max=a[i];

if(a[i]<min)

min=a[i];

}

System.out.println("\n shu zu max: "+max);

System.out.println("shu zu min: "+min);

}

}

实例:数组内元素的排序,实用的关键字是sort 方法对数组进行排序,Arrays.sort(数组名)为数组排序的操作。

importjava.util.*;

public classjavasz

{

public static void main(String [] args)

{

int a[] = {4,8,23,21,46,33,2,1};

int b;

b=a.length;

System.out.print("shu zu pai xu qianshun xu : ");

for(int i=0;i<b;i++)

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

Arrays.sort(a);

System.out.print("\n shu zu pai xu houde xu lie : ");

for(int i=0;i<b;i++)

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

}

}

这个例子中实用了这个包的概念,这里只是一提,等后期还会详细讲解。

二维数组和多维数组

二维数组的声明格式

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

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

二维数组的声明格式

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

二维数组的声明和赋值

数据类型数组名[][] = { {第 0 行初值},

{第1 行初值},

{第n 行初值},

};

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

实例:

int sum[][] = {

{20,30,25},

{33,24,54},

}

值得一提的是 Java 允许二维数组中每行的元素个数均不相同,这点与一般的程序语言是不同的。

Int a[][] = {

{43,87,74},

{32,44,24,98},

{23,42,65},

}

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

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

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

二维数组的使用

实例

public classjavaew

{

public static void main(String [] args)

{

int a[][]={

{63,72,59},

{78,49,64}

};

int i,j,sum;

sum = 0;

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

{

System.out.print("di yi hang neirong :");

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

{

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

sum+=a[i][j];

}

System.out.println();

}

System.out.println("\n zong cheng ji shi: "+sum);

}

}

三维数组,和二位数组的声明和赋值格式一样,但是在再输出的时候加一个for循环。

实例:

public classjava43

{

public static void main(String [] args)

{

int i,j,k;

int sz[][][] ={{{2,34,24,45},{23,55,32,4}},{{32,43,34,3},{43,54,21,4}}};

for(i=0;i<sz.length;i++)

for(j=0;j<sz[i].length;j++)

for(k=0;k<sz[j].length;k++)

{

System.out.print("su["+i+"]["+j+"]["+k+"]= ");

System.out.println(sz[i][j][k]);

}

}

}

这里容易出错的位置是数组赋值的时候。容易混淆,慢慢来希望你能成功。

时间: 2024-11-10 15:02:30

java自学篇之数组1的相关文章

Java学习篇之数组方法

Java中数组常用方法的总结(学习过程中看到的一篇关于Java数组的常用方法,希望能给大家提供帮助) 一.Java标准类库提供static方法System.arraycopy(),用它复制数组比用for循环复制要快得多,     System.arraycopy()针对所有的类型做了重载,需要5个参数. 第一个参数:源数组. 第二个参数:偏移量,即从哪个位置开始复制的索引. 第三个参数:目标数组. 第四个参数:偏移量. 第五个参数:要从源数组中复制到目标数组元素的个数,一般情况下为目标数组的长度

java自学篇第一部分总结(学习方法)

很庆幸你已经完成java基础章节的第一部分的学习,可能你很快就接收了,也可能你学了好久也学会,但是我想通过这篇文档告诉大家学习语言的一些方法: 1.语言的第一个脚本hello world都是相通的, 2.语言中都有数据类型这一说,java有8种大类型,无论那种语言他的数据类型基本一致,希望大家学好一个就学会别的80%了: 3.基本的程序语句,赋值.运算都一个样子: 4.程序顺序,也就是常用的语句顺序语句.选择语句.循环语句,这是所有语言的定律,应该都有这些东西,循环语句大家很套呀,一个方法多联系

java 自学篇之表达式语句运算

第三章 表达式语句运算 从这里我们就要进入程序里面的语句了,无论是C C++还是java,它们都是有表达式语句运算等组成. 表达式:由操作数与运算符所组成:操作数可以是常量.变量也可以是方法,而运算符就是数学中的运算符号,如"+"."-"."*"."/"."%"等. 一个表达式引出这么多东西,下面我们来一一看看这是什么东西. 操作数:常量.变量或者方法(方法怎么用?) 常用运算符 运算符:数学中的运算符号,

java自学篇

一.简单程序 public classtestjava { public static void main(String args[]) { int num; num = 3; System.out.println("这是数字"+num); System.out.println("我有"+num+" 本书!"); } } 1.文件保存的名字和公共类的名字一致 2.java语言的注释是// 3.public表示该类是公有类,如果将一个类声明成pub

java自学篇之class

先补上昨天的博文 面向对象程序设计 1       相关概念 何谓面向对象是什么意思呢? 面向对象程序设计是将人们认识世界过程中普遍采用的思维方法应用到程序设计中. 对象是现实世界中存在的事物,它们是有形的,也可以是无形的,对象的特征分为静态特征和动态特征两种. 静态的特征指对象的外观.性质.属性等: 动态的特征指对象具有的功能.行为等. 客观事物是错综复杂的,但人们总是从某一目的出发,运用抽象分析的能力,从众多的特征中抽取最具代表性.最能反映对象本质的若干特征加以详细研究.人们将对象的静态特征

java自学篇之程序设计基础

循环与选择性语句 上面我们所编写的简单程序,不知道大家是否能会用了,大体的流程是这样的,我们来复习一下: 1.             开始写程序了,首先要进行类的定义 public class 类名(只要是公有类就要和文件名一致)类的所有内容要用{}括起来: 2.             写程序头部分public static void main(String [] args) 程序的语句也要用大括号括起来: 3.             我们开始来写程序了,这里面包括常量.变量.语句.关键字

学习java随笔第六篇:数组

一维数组 创建一维数组并输出 public class OneDimensionalArray { public static void main(String argas[]) { int i[]=new int[10]; for(int j=0;j<i.length;j++) { i[j]=j; System.out.println(i[j]); } } } 多维数组 创建多维数组并输出 public class MultiDimensional { public static void m

Java学习之旅基础知识篇:数组及引用类型内存分配

在上一篇中,我们已经了解了数组,它是一种引用类型,本篇将详细介绍数组的内存分配等知识点.数组用来存储同一种数据类型的数据,一旦初始化完成,即所占的空间就已固定下来,即使某个元素被清空,但其所在空间仍然保留,因此数组长度将不能被改变.当仅定义一个数组变量(int[] numbers)时,该变量还未指向任何有效的内存,因此不能指定数组的长度,只有对数组进行初始化(为数组元素分配内存空间)后才可以使用.数组初始化分为静态初始化(在定义时就指定数组元素的值,此时不能指定数组长度)和动态初始化(只指定数组

java提高篇(十九)-----数组之二

前面一节主要介绍了数组的基本概念,对什么是数组稍微深入了一点点,在这篇博文中主要介绍数组的其他方面. 三.性能?请优先考虑数组 在java中有很多方式来存储一系列数据,而且在操作上面比数组方便的多?但为什么我们还需要使用数组,而不是替代它呢?数组与其他种类的容器之间的区别有三个方面:效率.类型和保存基本类型的能力.在java中,数组是一种效率最高的存储和随机访问对象引用序列的方式. 在项目设计中数组使用的越来越少了,而且它确实是没有List.Set这些集合使用方便,但是在某些方面数组还是存在一些