day08-數組

  1. 按一定顺序排列的同类型数据的集合称为数组。所谓初始化就是给数组元素分配内存,并为每个元素赋初始值。不論静态/动态初始化数组是定长的。

  2. 静态初始化:我们自为每一个数组元素设置初始化值,而数组的长度由系统(JVM)决定.简单写法,必须声明之后,立刻初始化

  3. 动态初始化:我们来设置数组的元素个数(数组长度),而每一个数组元素的初始值有系统决定.

  4.  

  5. 数组名. length属性
  6. Java5对数组的新语法支持:
    1. 可以用增强for循环-foreach迭代,不關心索引,
    2. 方法的可变参数
  7.  ArrayIndexOutOfBoundsException:数组的索引越界异常.
  8. 获取数组最大最小元素(getMax,getMin),打印数组元素,逆序排列数组元素,元素出现索引(第一次/最后一次)
  9. 方法参数的值传递机制:基本類型-拷貝一個副本,本方法變量不受影響;引用類型-拷貝一個引用地址副本傳遞給方法,操作的是同一個

 

  1. 楊輝三角
  2. 多維數組
  3. 方法的可变参数:可变参数必须作为方法的最后一个参数,只有一個,其底层是就是一个数组类型。把可變參數,new成數組
  4. System.arraycopy():

 

  1. 排序:
    1. 冒泡排序(Bubble Sort):
      这是最简单的排序法,基本思路:
      对未排序的各元素从头到尾依次比较相邻的两个元素大小关系,若大于则交换位置,经过第一轮比较排序后可得出最大值,然后使用同样的方法把剩下的元素逐个比较即可。可以看出若有N个元素,那么一共要进行N-1轮比较,第M轮要进行N-M次比较
      public static void testSort( int [] arr)  {
      		int temp=0;
      		for (int times = 1; times <= arr.length-1; times++) {
      			for (int i = 1; i <= arr.length-times; i++) {
      				if (arr[i-1]>arr[i]) {
      					temp=arr[i];
      					arr[i]=arr[i-1];
      					arr[i-1]=temp;
      				}
      			}
      		}
      }

       

    2. 选择排序(Selection Sort):
      基本思路:选择某个索引位置的元素,然后和后面元素依次比较,若大于则交换位置,经过第一轮比较排序后可得出最小值,然后使用同样的方法把剩下的元素逐个比较即可。
      可以看出选择排序,第一轮会选出最小值,第二轮会选出第二小的值,直到最后。
      第一轮从arr[0]和后面元素相比较,第二轮从arr[1]和后面的元素相比较,依次类推。N个数要进行N-1轮。选择排序每一轮只进行一次交换,相对于冒泡排序效率高一些。
      	public static void testSort( int [] arr)  {
      		int temp=0;
      		for (int times = 1; times < arr.length; times++) {
      			for (int i = times; i <arr.length; i++) {
      				if (arr[times-1]>arr[i]) {
      					temp=arr[times-1];
      					arr[times-1]=arr[i];
      					arr[i]=temp;
      				}
      			}
      		}
      	}
      

       

  2. 二分搜索法:数组元素必须有顺序.

  1. java.util.Arrays类:
    1. public static int binarySearch(Object[] a,  Object key)  使用二分法查找数组里某元素并返回其索引,若找不到返回负数.
      public static void sort(Object[] a)               使用调优后的快速法对指定数组排序。
      public static String toString(Object[] a)               返回指定数组内容的字符串表示形式。
      public static <T> T[] copyOf(T[] original, int newLength) 复制指定的数组,截取或用 0 填充(如有必要),以使副本具有指定的长度。底層調用System.arraycopy()

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值