分享
 
 
 

JAVA中的数组研究

王朝java/jsp·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

数组是很重要的数据结构,由同一类型相关的数据结构组成是静态实体,有链表,队列,堆栈,数等数据结构,Java还提出了类数组的类vector. 这些都是java数据结构的组成部分,正如我们学过的c语言版的数据结构,java数据结构也是来描述数据结构的只是描述语言是java一样而已.

1.数组中最重要的是数组下标,数组下标及数组名是用来给访问者提供访问数组的途径,数据下标从0开始,c[0],就是一个第一个数据第一个元素是c[i-1],数组名的名名规则与变量相同,其访问格式也很简单

例:c.lenth就是数组的长度.

c[a+b]+=2 就是个数组a+b的值+2,在此数组也有易混淆的地方,那就是数组的第7个元素和数组元素7是两个不相同的概念,初学者一定要区分其区别.

2.空间分配:任何数据都要占用空间,数组也不例外,java中用new来给一个新的数组分配空间,

例:int c[ ]=new int[12]; 其格式等同于 int c[]; c=new int[12]; 他们的初始化值都是0

一个数组可以同时声明多个数组

例:string b[ ]=new String[100],x[ ]=new String[27];

数组可以声明任何数据类型,double string ..

举个例子来分析:

// Fig. 7.5: InitArray.java

// initialize array n to the even integers from 2 to 20

import javax.swing.*;

public class InitArray {

public static void main( String args[] )

{

final int ARRAY_SIZE = 10;

int n[]; // reference to int array

String output = "";

n = new int[ ARRAY_SIZE ]; // allocate array

// Set the values in the array

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

n[ i ] = 2 + 2 * i;

output += "Subscript\tValue\n";

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

output += i + "\t" + n[ i ] + "\n";

JTextArea outputArea = new JTextArea( 11, 10 );

outputArea.setText( output );

JOptionPane.showMessageDialog( null, outputArea,

"Initializing to Even Numbers from 2 to 20",

JOptionPane.INFORMATION_MESSAGE );

System.exit( 0 );

}

}

程序中: 1.final int ARRAY_SIZE=10限定词final声明常数变量ARRAY_SIZE其值是10.

2. n = new int[ ARRAY_SIZE ]声明了n数组其长度不能超过10

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

n[ i ] = 2 + 2 * i; 指定了程序的方法即输出10个从2开始的偶数.其下标分别计为0-9的10个数:其运行结果如图

4.output += "Subscript\tValue\n";

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

output += i + "\t" + n[ i ] + "\n"; 在output后面追加字符串.显示数组下标即计算结果.

5 JTextArea outputArea = new JTextArea( 11, 10 );

outputArea.setText( output );

创建一个新的文本框,把output放入其中.

JOptionPane.showMessageDialog( null, outputArea,"Initializing to Even Numbers from 2 to 20",

JOptionPane.INFORMATION_MESSAGE );

显示文本框.

由前3个过程你可以看到了数组是怎样建立的了.

3.引用及引用参数:许多编程语言都有通过值的调用 callby value传递参数,当使用调用值时,将产生数值的一个拷贝并传递给被调用的方法.

例如. int hourly Temperatrue[ ]=new int[24];

modify Array(hourlyTemperatrue);

以一个例子说明:// Fig. 7.10: PassArray.java

// Passing arrays and individual array elements to methods

import java.awt.Container;

import javax.swing.*;

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有