1.创建一维数组

  最简单快捷的方法是:声明的同时为数组分配内存。如:

  int month[]=new int[12]

  也可以先声明再分配内存。如:

  int month[];   //或int[] month;
month=new int[12];

  在初始化一维数组时,可采用两种方法。如:

  int arr[]=new int[]{1,2,3,4,5};
或者:int arr[]={1,2,3,4,5};

2.创建二维数组

  创建二维数组的方法和一维数组一样有两种方法。如:

  //先声明再分配
int arr[][];
arr=new int[2][4];
//直接分配
int arr[][]=new int[2][4];

  注:分配内存时可以分配为每一维分配,常用于非规则数组。如:

   int a[][];
a=new int[2][];
a[0]=new int[4];
a[1]=new int[5];

  关于二维数组的操作,要学会使用foreach语句遍历二维数组。

   int arr[][]={{2,3},{3,7},{6,5}};
for(int x[]:arr){
for(int e:x){
system.out.print(e+' ');
}
}

3.数组操作

  3.1 填充元素

    导入java.util.Arrays后,使用fill()方法。如:

      Arrays.fill(arr,8);
    Arrays.fill(arr,1,2,8); //在第一个到第二个(不包括)元素间填充8

  3.2 排序

       导入java.util.Arrays后,使用Arrays.sort()方法。如:

      int arr[]={2,5,1,7,6};
Arrays.sort(arr);

  3.3 复制数组

    使用Arrays类的两个方法:

    copyOf():复制数组到指定长度数组。如:

    int arr[]={21,45,46};
    int newarr[]=Arrays.copyOf(arr,5); //newarr数组为:21,45,46,0,0

    copyOfRange():复制指定长度数组元素到新数组。如: 

    int arr[]={1,4,5,7,8,9};
    int newarr[]=Arrays.copyOfRange(arr,0,3);

  3.4 数组查询

    Arrays类的binarySearch()方法提供了多种重载,可使用二分查找方式搜索。如:

    binarySearch(Object[],key)、binarySearch(Object[],int fromIndex,int toIndex,int key).

  3.5 数组排序算法

    掌握冒泡排序、直接选择排序等基本排序算法的Java程序书写。下面以冒泡排序为例,自己用Java写一下该算法:

  public class BubbleSort{
  public void main(String[] args){
int arr[]={2,4,8,5,6,10,1};
//创建BubbleSort的实例,调用方法sort排序
BubbleSort sorter=new BubbleSort();
sorter.sort(arr);
   public void sort(int array[]){
  for(int i=0;i<array.length();i++){
  for(int j=array.length()-2;j>i;j--){
  if(array[j+1]<array[j]){
  int temp=array[j+1];
  array[j+1]=array[j];
  array[j]=temp;
}
}
   }
  }

  

    

最新文章

  1. ARM汇编与C混合编程
  2. java BigDecimal add 等方法遇到的问题
  3. 转载:ZooKeeper Programmer&#39;s Guide(中文翻译)
  4. 多线程 thread和Task的用法以及注意事项
  5. 关于web前端(知乎上收集)
  6. Java Servlet(六):HttpServlet实现原理(jdk7+tomcat7+eclipse)
  7. 【群论】polya定理
  8. python MySQLdb、socket与进线程
  9. Java线程池详解
  10. _0_web_基础
  11. SUSE12SP3-Mycat(3)Server.xml配置详解
  12. java多线程编程之连续打印abc的几种解法
  13. mysql修改字段长度及pymysql.err.DataError: (1406, &quot;Data too long for column &#39;name&#39; at row 1&quot;)错误
  14. 重载的方式写Python的get请求
  15. 装机 win7 64 IE11
  16. PAT乙级1008
  17. Floyd_Warshall算法
  18. 5 MySQL--表--数据类型
  19. 使用matplotlib绘图(一)之折线图
  20. 使用nginx搭建文件下载服务器

热门文章

  1. php中字符串长度和截取的函数
  2. 【腾讯优测干货分享】微信小程序之自动化亲密接触
  3. Django 设置cookies与获取cookies.
  4. MyEclipse 修改项目字符集
  5. js 如何判断鼠标点击事件还是js代码调用
  6. centos 单独安装nginx
  7. java me 旋转的X案例
  8. animate的{queue:false,duration:400}意思
  9. php中二维数组如何使用
  10. ORA-01555经典错误