Java基础5

来源:互联网 发布:免费申请域名的步骤 编辑:程序博客网 时间:2024/05/21 07:51

数组:一组类型相同 而且存储空间连续的数据

1:如何定义数组 -》 引用数据类型

   Student stu = new Student();

   int[] data1 = new int[3];//3表示底层开辟3块连续的存储空间

   int[] data2 = new int[]{345,67,78,89};

   int[] data3 = {45,67,8,7,4,9};

 

2:如何得到数组里面的某一个元素

   数组对象[下标];

   System.out.println(data3[5]);

 

   [x]什么情况下表示开辟的空间数?

      什么情况下表示下标?

      看[]前面是什么

      []前面是数据类型 -》 x表示底层开辟的空间大小

      []前面是数组对象 -》 x表示下标

 

      char[] data = new char[3];//空间大小

      data[2];//下标

 3:如何得到数组的大小

数组对象.length

System.out.println(data2.length);

        

 4:如何遍历数组

遍历:从头到尾看一遍

A.for + 下标

for(int x = 0;x < data.length;x++){//x控制的是下标

System.out.println(data[x]);

}

 

B. foreach   forin   since jdk5.0

for(数据类型 元素 数组对象){

System.out.println(元素);

}

for(int x : data3){//x表示任意一个元素

System.out.println(x);

}

 

数组的复制

1:直接将数组的引用进行赋值 -》 没有完成需求的

  只是这个数组对象多个引用而已

 

2:笨重的复制方式 需要挨个进行赋值

 

3:直接调用“克隆”方法 不符合正常的需求

 

========================================

4System.arraycopy(1,2,3,4,5);

1: 要复制的原数组

2:元素组的起始下标位置

3:要复制到的目标数组

4:目标数组的起始下标位置

5:要复制的长度

           *:当我们学到ArrayList集合的时候 

      对于ArrayList里面的删除元素的方法 其实底层就是用数组复制实现的

   *arraycopy方法的1 3参数其实可以是同一个数组对象 从而实现数组的前后移动

 

 

数组的排序:

int[] data = new int[]{23,17,11,68,45};

手动排序 冒泡排序:

23 17 11 68 45

[0] [1] [2] [3] [4]

[0]  vs [1]    前大后小   需要交换

17 23 11 68 45

[0] [1] [2] [3] [4]

[1]  vs [2]   前大后小   需要交换

17 11 23 68 45

[0] [1] [2] [3] [4]

[2]  vs [3]   前小后大  不需要交换

 

17 11 23 68 45

[0] [1] [2] [3] [4]

[3]  vs [4]   前大后小  需要交换

[y]  vs [y+1]

 

17 11 23 45 68

[0] [1] [2] [3] [4]

for(int x = 0; x < data.length -1;x++){

for(int y = 0; y < data.length - 1-x;y++){

//比较y对应的元素和y+1对应的元素大小

if(data[y] > data[y+1]){

//交换两个变量

data[y] = data[y] ^ data[y+1];

data[y + 1] = data[y] ^ data[y+1];

data[y] = data[y] ^ data[y+1];

}

}

}

 

int x = 45;

int y = 78;

 

int z = x;

x = y;

y = z;

 

x = x + y;

y = x - y;

x = x - y;

 

x = x ^ y;

y = x ^ y;

x = x ^ y;

 

 

自动排序:

import java.util.*;

Arrays.sort(数组对象);//只会从小到大进行排序

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 0
原创粉丝点击