快速业务通道

数组在Java编程中的应用 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
utput; public void init() { outputArea = new JTextArea(); Container c = getContentPane(); c.add( outputArea ); int a[] = { 1, 2, 3, 4, 5 }; output = "Effects of passing entire " + "array call-by-reference:\n" + "The values of the original array are:\n"; for ( int i = 0; i < a.length; i++ ) output += " " + a[ i ]; modifyArray( a ); // array a passed call-by-reference output += "\n\nThe values of the modified array are:\n"; for ( int i = 0; i < a.length; i++ ) output += " " + a[ i ]; output += "\n\nEffects of passing array " + "element call-by-value:\n" + "a[3] before modifyElement: " + a[ 3 ]; modifyElement( a[ 3 ] ); output += "\na[3] after modifyElement: " + a[ 3 ]; outputArea.setText( output ); } public void modifyArray( int b[] ) { for ( int j = 0; j < b.length; j++ ) b[ j ] *= 2; } public void modifyElement( int e ) { e *= 2; } }

数组在Java编程中的应用(3)

时间:2010-12-08

分析:

1. outputArea = new JTextArea();

Container c = getContentPane();

c.add( outputArea ); 定义一个container用来输出结果.

2. int a[] = { 1, 2, 3, 4, 5 };定义数组a[]

3. output = "Effects of passing entire " +

array call-by-reference:\n" +

"The values of the original array are:\n";

在output字符串后追加标记

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

output += " " + a[ i ]; 在TextArea上输出a[i]为1,2,3,4,5

4. modifyArray( a ); // array a passed call-by-reference

引用参数

output += "\n\nThe values of the modified array are:\n";

追加字符

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

output += " " + a[ i ];

循环显示

output += "\n\nEffects of passing array " + "element call-by-value:\n" + "a[3] before modifyElement: " + a[ 3 ] 与返回类 结合 public void modifyArray( int b[] ) { for ( int j = 0; j < b.length; j++ ) b[ j ] *= 2; }

返回了计算后的a[]=b[j]*2 b[j]是临时的 此处体现callby value 数组b是 一个拷贝,计算结束后传递给被调用的方法,b在计算后自动销毁。

输出的结果是a[3] brefore modifyelment:8

5.modifyElement( a[ 3 ] );

output += "\na[3] after modifyElement: " + a[ 3 ];

outputArea.setText( output );与 过程结合

public void modifyElement( int e )

{

e *= 2;

}

返回了计算后的a[3]after modifyelment:8 e是临时变量,运行后自动销毁。

5. 数组排序:排序使程序按某种顺序进行排列,升序或降序.这是计算机数据 处理中中应用最多的一项.例如银行的帐户排序,工资排序等.在次不作过多介绍 。

6.数组查找:分线性插找和折半查找:对于小型的数组线性查找效果可能很好 ,对于大型数据效率就很低了,可以用折半查找,效率会很大的提高,折半查找 的方法是,例如查找含63个元素只需要比较6次大小 第一次查找下标 (1+63)/2=32查找 若大于关键子,则到下标为1-32中查找,若小与关键子,则到 33-63中查找,若找不到,继续到下一个范围中找,就是在将32分半,以上面的方 法以此类推,只道找到为止。

而查找的最多比较次数:满足2的k次方大于n的k次的最小整数值。由此可推 算对于10亿个数组来说用线性查找5亿次和用折半查找30次是多么大的差距。

7.和其他语言的多维数

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号