本帖最后由 李工 于 2015-5-14 07:40 编辑
笔记内容:数组与二维数组
笔记来源:毕向东Java基础视频第4天
正文:
******************************************** 数组 **********************************************
【定义】:数组本质上是多个同类型数据的集合,数组中的每个元素具有相同的数组名和下标来唯一地确定数组中的元素。
【使用方法】:
声明和创建:
方法一:
type[] 数组名 = new type[数组中元素的个数];
比如:
int[] a = new int[10];
方法二:
type[] 数组名 = new type[]{逗号分隔的初始化值};
比如:
int[] a = {1,2,3,4};
int[] a = new int[]{1,2,3,4};
数组元素的引用:
arrayName[index]
其中index为数组下标,它可以为整型常数或表达式。如a[3],b(i为
整型),c[6*i]等。下标 从0开始,一直到数组的长度减1。数组元素的下
标从0开始;长度为n的数组的合法下标取值范围为:0~n-1;
数组的长度:
arrayName.length的值即为数组的长度。
输出一个数组:- int[] intArray = { 1, 2, 3, 4, 5 };
- String intArrayString = Arrays.toString(intArray); //Arrays.toString代表将数组转化为字符串
- System.out.println(intArrayString);
- //结果为 [1, 2, 3, 4, 5]
复制代码
移除一个数组:
- int[] intArray = { 1, 2, 3, 4, 5 };
- int[] removed = ArrayUtils.removeElement(intArray, 3); //将原数组进行元素删除操作并将结果赋值给一个新数组
- System.out.println(Arrays.toString(removed));
复制代码
数组的升序排列:
- import java.util.Arrays;
- public class ArraysSort {
- public static void main(String args[]){
- int[] a={1,4,-1,5,0};
- Arrays.sort(a); //数组a[]的内容变为{-1,0,1,4,5}
- for(int i=0;i<a.length;i++)
- System.out.println(a[i);
- }
- }
复制代码
数组的复制算法:- public class ArraysCopy {
复制代码
【二维数组】:二维数组的定义:
type arrayName[ ][ ];
type [ ][ ]arrayName;
二维数组的初始化:
1.静态初始化
int intArray[ ][ ]={{1,2},{2,3},{3,4,5}};
Java语言中,由于把二维数组看作是数组的数组,数组空间不是连续分配的,所以不要求二维数组每一维的大小相同。
2.动态初始化
1) 直接为每一维分配空间,格式如下:
arrayName = new type[arrayLength1][arrayLength2];
int a[ ][ ] = new int[2][3];
3) 例:
二维简单数据类型数组的动态初始化如下:
int a[ ][ ] = new int[2][ ];
a[0] = new int[3];
a[1] = new int[5];
对二维复合数据类型的数组,必须首先为最高维分配引用空间,然后再顺次为低维分配空间。而且,必须为每个数组元素单独分配空间。例如:
String s[ ][ ] = new String[2][ ];
s[0]= new String[2];//为最高维分配引用空间
s[1]= new String[2]; //为最高维分配引用空间
s[0][0]= new String("Good");// 为每个数组元素单独分配空间
s[0][1]= new String("Luck");// 为每个数组元素单独分配空间
s[1][0]= new String("to");// 为每个数组元素单独分配空间
s[1][1]= new String("You");// 为每个数组元素单独分配空间
二维数组元素的引用:
对二维数组中的每个元素,引用方式为:
arrayName[index1][index2]
【冒泡排序】:
- public class BubbleSort {
- public static void main(String[] args){
- int[] arr={1,4,3,7,14,9,66,33,20,122,65,76};
- for(int i=0;i<arr.length-1;i++){
- for(int j=0;j<arr.length-1;j++){
- if(arr[j]<arr[j+1]){
- int t=arr[j];
- arr[j]=arr[j+1];
- arr[j+1]=t;
- }
- }
- }
- for(int i=0;i<arr.length;i++){
- System.out.println(arr[i]);
- }
复制代码
|