您的位置:首页 > 编程语言 > Java开发

java中数组的应用

2017-06-02 14:53 399 查看
1.创建数组的方法:   

int [] a = new int [100];
数据类型  [ ]   变量名   =   new  数据类型  [元素个数]

其中元素个数必须从给出,并且只能在后面的方括号中给出。

int [] a = {元素1,元素2,元素3,};
这种方式是在声明数组时就对数组进行初始化了。元素与元素之间用逗号隔开,最后一个元素后面的逗号可有可无。

2.如何将一个数组的值复制给另一个数组?

int [] a = {1,2,3,4,5,6};
int [] b = a;
b[0] = 12;
System.out.println(a[0]);
这段代码的输出结果会是12,而不会是1。因为声明一个数组变量a时,其实它是一个管理者,a里面的内容其实是{1,2,3,4,5,6}的地址,而不是{1,2,3,4,5,6}本身。所以当int [ ] b = a时,只是将a的内容给了b,因此b也指向了{1,2,3,4,5,6},也就是说a和b同时管理者{1,2,3,4,5,6}。因此当你改变b[0]的值时,其实就是改变a[0]的值。所以要想将数组a复制给数组b,应该要这样做:
for(int i =0;i<a.length;i++)
{
b[i]=a[i];
}

需要注意的是,上述代码用的是i<a.length而不是直接用i<6。这样写的目的是增加代码的可扩展性,因为现在数组a的长度是6,后面也许会改成7或8,而for循环的条件也要改成i<7或i<8。如果我们一开始就使用的是i<a.length。即使后面数组a的长度发生改变,for循环的条件依然不需要改变。这就是可扩展性。

3.利用数组输出100以内的素数:

public class Text1 {

public static void main(String[] args) {
boolean [] primes = new boolean [100];

for(int i=0;i<primes.length;i++)
{
primes[i]=true;
}
for(int i=2;i<primes.length;i++)
{
if(primes[i])
{
for(int k=2;i*k<primes.length;k++)
{
primes[i*k]=false;
}
}
}
for(int i=2;i<primes.length;i++)
{
if(primes[i])
System.out.print(i+" ");
}
System.out.println();
}

}
本题的思路是:首先创建一个空间为100的逻辑数组,并将其遍历为true。即先假设所有数都是素数,从第一个素数开始,将它的1倍,2倍,3倍等等直到超过100的数设成false。如此循环便能找出100以内的所有素数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: