【7.23】第四章数组知识重点#姜小…

来源:互联网 发布:大乐透算法必中5红万能 编辑:程序博客网 时间:2024/04/30 13:14

【第四章  数组】

1、数组是一组变量的集合,只能用来存储相同类型的一组数据。开辟的是一串连续的内存空间(方便进行操作)。

2、数组名即标识符,连续空间的首地址。元素下标标明了元素在数组中的位置,从0开始。数组长度是固定不变的,避免数组越界。数组中每个元素都可以通过下标访问。

3、使用数组四步走:

A、声明数组int[]a;

B、分配空间a=new int[2];

C、赋值a[0]=8;

D、对数据进行处理

4、冒泡排序: int t;

 for (int 0; a.lengthj++) {

 for (int 0; a.length -1- j; i++) {

 if (a[i] a[i 1]) {

 a[i];

 a[i] a[i 1];

 a[i 1] t;}}}

5、多维数组:int[][] b=new int[2][3];

int[][] c=new int[][]{{1,2,7},{3,5}};

增强的for循环:for(int[] es:b){

System.out.print(es);

}

6、数组排序:Arrays.sort(a);

   数组比较:System.out.println(Arrays.equals(n, m));

   数组拷贝:int[] k=Arrays.copyOf(m, 2);【前两个】

 int[] Arrays.copyOfRange(m, 1, 3);1-3个不包括3

   数组查找:int index= Arrays.binarySearch(m, 8);


【课堂练习】

*输出三位数水仙花数,即数的本身=个位的三次方+十位的三次方+百位的三次方*

int n=100;

do{

int  m=n;

int i=m;

m/=10;

int j=m;

m/=10;

int k=m;

if(n==i*i*i+j*j*j+k*k*k){

System.out.println(n);

}

n++;

}while(n>=100&&n<1000);

*输出1-1000之间不是7的整数的和*

int i=1;

int sum=0;

do{

if(i%7!=0){

sum+=i;

}

i++;

}while(i<1001);

System.out.println(sum);

*输出1-100之间的所有素数*

int n=2;

do{

boolean sushu=true;

for(int m=2;m

if(n%m==0){

sushu=false;

break;

}

}

if(sushu==true){

System.out.println(n);

}

n++;

}while(n<=100);

*斐波那契数列1、1、2、3、5、8、13、21、……【for循环】*

int a=1,b=1,c;

System.out.print("1、");

System.out.print("1、");

for(int i=0;i<18;i++){

      c=a+b;

      System.out.print(c+"、");

      a=b;

      b=c;

   }

*斐波那契数列1、1、2、3、5、8、13、21、……【do-while循环】*

int a=1,b=1,c;

System.out.print("1、");

System.out.print("1、");

int i=0;

do{

      c=a+b;

      System.out.print(c+"、");

      a=b;

      b=c;

      

i++;

}while(i<=18);

0 0