JAVA基础之数组

来源:互联网 发布:天涯明月刀ol捏脸数据 编辑:程序博客网 时间:2024/05/22 05:22

一、什么是数组

一种最简单的数据结构,内存中临时存储。

二、JAVA中的数组

(1)一维数组的定义和初始化

int[] arr = new int[10];

注意:1、类型(数组中元素的类型)

   2、长度

(2)一维数组的使用

int[] arr = new int[10];for(int i=0;i<10;i++){   arr[i] = i+1;}for(int i=0;i<10;i++){   System.out.println(arr[i]);}


一维数组的快速初始化

int[] arr = {1,2,3,4};

三、冒泡排序

(1)冒泡原理

冒泡排序的基本思想就是不断比较相邻的两个数,让较大的元素不断地往后移。经过一轮比较,就选出了最大的数;

经过第二轮比较,叫选出次大的数,以此类推。

(2)冒泡程序

int[] arr = {5000,3,5,74,121,45,88,99};int temp;for(int j=0;j<arr.length-1;j++){for(int i=0;i<arr.length-1-j;i++){if(arr[i]>arr[i+1]){temp = arr[i];arr[i] = arr[i+1];arr[i+1] = temp;}}for(int i=0;i<arr,length;i++){System.out.println(arr[i]);}}


对冒泡排序的进一步优化:

1、判断:如果该趟排完  发现序列已经有序,后面的趟数没必要跑

2、如何判断序列已经有序?

int temp;boolean flag=true;for(int j=0;j<arr.length-1;j++){flag = true;for(int i=0;i<arr.length-1-j;i++){if(arr[i]>arr[i+1]){flag = false;temp = arr[i];arr[i] = arr[i+1];arr[i+1] = temp;}}}
四、增强For(Foreach)用来遍历数组或集合(java 5之后的功能)

int[] arr = {100,5,49,68,45,15,94,12,222,25};for(int i:arr){System.out.println(i);}


底层:迭代器实现
五、二维数组和不对称熟组

int[][] arr = new int[3][3];for(int i=0;i<3;i++){for(int j=0;j<3;j++){arr[i][j] = i+j;}}for(int i=0;i<3;i++){for(int j=0;j<3;j++){System.out.print(arr[i][j]+" ");}System.out.println();}


arr.length:指的是行数

arr[i].length:第i行的元素的个数

int[][] arr = new int[3][];arr[0] = new int[3];arr[1] = new int[4];arr[2] = new int[5];for(int i=0;i<arr.length;i++){for(int j=0;j<arr[i].length;j++){arr[i][j] = i+j;}}for(int i=0;i<arr.length;i++){for(int j=0;j<arr[i].length;j++){System.out.print(arr[i][j]+" ");}System.out.println();}


所谓的对维数组:
实质仍然是一维数组,只不过一维数组中存储了其他一维数组的内存地址。

七、对象数组

People[] pArr = new People[10];People p1 = new People("001","张三",23);pArr[0] = p1;pArr[0].printInfo();


八、日期处理

(1)获取系统当地的时间

Date date = new Date();System.out.println(date);
(2)Date类型和String类型时之间的相互转换
Date date = new Date();System.out.println(date.toLocaleString());SimpleDateFormat sf = new SimpleDateFormat("EEEE yyyy-MM-dd hh:mm:ss");String strDate = sf.format(date);System.out.println(strDate);//将String类型时间转成Date类型SimpleDateFormat sf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String strDate1 = "2012-6-1 15:12:10";Date date1 = sf1.parse(strDate1);System.out.println(date1);//Date 对象常用的几个方法System.out.println(date.before(date1));System.out.println(date.after(date1));System.out.println(date.compareTo(date1));System.out.println(date.getTime());