java中数组的应用
2017-06-02 14:53
399 查看
1.创建数组的方法:
其中元素个数必须从给出,并且只能在后面的方括号中给出。
2.如何将一个数组的值复制给另一个数组?
需要注意的是,上述代码用的是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以内的所有素数。
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以内的所有素数。
相关文章推荐
- 黑马程序员-JAVA数组应用
- hdoj 2020 (java)绝对值排序(Math.abs()函数应用以及数组冒泡排序)
- 浅谈Java集合中Array(数组)的应用
- 【JAVA】26、应用2——数组复制
- java数组的应用案例双色球
- java基础知识回顾之---java String final类普通方法的应用之字符串数组排序
- java中数组对象的应用
- [疯狂Java]泛型:泛型构造器、泛型方法的重载问题、泛型数组的问题(应该摒弃)、?下限的典型应用
- Java数组的应用2:数组的最大,最小,求和,平均值,倒置
- java基础整理3--数组的应用
- JAVA数组初始化及应用
- JAVA基础之二维数组三维数组及应用
- java基础的综合应用(类的应用,文本拷贝,IO流,数组,集合,文件文件夹的创建)
- Java数组扩容算法及Java对它的应用
- Java数组-查表法在生活中的应用举例
- 【数据结构与算法】数组应用3:稀疏矩阵压缩(Java实现)
- 【数据结构与算法】数组应用4:多项式计算Java版
- RE:JAVA学习-循环应用和数组
- JAVA day03 数组的应用,查找,求最值与基本排序方式
- 黑马程序员 Java基础_3 数组,数组排序和应用