Java数组

一、数组的概念

数组是一组相关数据的集合,数组按照使用可以分为一维数组、二维数组、多维数组

二、数组的定义

元素类型[] 数组名 = new 元素类型[元素个数或数组长度];
int[] a = new int[n];//定义大小为n的整型数组
Double[] b = new double[m];//定义大小为m的浮点型数组

注意:
    1)如果数组初始化中不使用运算符new,不能将数组的定义与赋值分开,如以下书写方式是错误的:
          int[] arr;
          arr={1,2,3,4,5};
         此时初始化数组,必须将声明,创建,初始化都放在一条语句中个:
                  int[] arr = {1,2,3,4,5};
    2)数组是一个固定长度的数据结构,一旦声明,便不能再修改。
    3)array.length表示数组的容量,只要数组创建了,每一个索引被初始化为默认值。

三、foreach循环

java中一种功能很强大的循环结构,用来依次遍历数组中的所有元素。
public class TestArray {
public static void main(String[] args) {
double[] myList = {1, 2, 3, 4};
// 打印所有数组元素
for (double element: myList) {
System.out.println(element);
}
}
}


四、二维数组

1)二维数组的动态初始化:
 typearrayName = new type[arrayLength1][arrylength2]
(type 可以为基本数据类型和复合数据类型,arraylenght1 和 arraylenght2 必须为正整数,arraylenght1 为行  数,arraylenght2 为列数。)

2)二维数组的遍历---两重for循环

    for(int i = 0 ;i<arr.length;i++){ //遍历二维数组,遍历出来的每一个元素是一个一维数组

        for(int j=0;j<arr[i].length;j++){//遍历对应位置上的一维数组 

           System.out.println(arr[i][j]); 

        } 

    }

3)二维数组的反转---头尾交换

      for(int start = 0,end=arr.length-1;start<end;start++,end--){

          int[] temp = arr[start]; 

          arr[start] = arr[end];

          arr[end] = temp; 

       }

4)杨辉三角(arr[i][j] = arr[i -1][j] + arr[i - 1][j - 1])

//从控制台获取行数
Scanner s = new Scanner(System.in);
int row = s.nextInt();
//根据行数定义好二维数组,由于每一行的元素个数不同,所以不定义每一行的个数
int[][] arr = new int[row][];
//遍历二维数组
for(int i = 0; i < row; i++){
    //初始化每一行的这个一维数组
    arr[i] = new int[i + 1];
    //遍历这个一维数组,添加元素    
    for(int j = 0; j <= i; j++){
        //每一列的开头和结尾元素为1,开头的时候,j=0,结尾的时候,j=i
        if(j == 0 || j == i){
            arr[i][j] = 1;
        } else {//每一个元素是它上一行的元素和斜对角元素之和
            arr[i][j] = arr[i -1][j] + arr[i - 1][j - 1];
        }
        System.out.print(arr[i][j] + "\t");
    }
    System.out.println();
}
5)数组拷贝
int copyarr = Arrays.copyOf(arr,arr.length);
6)数组排序
int[] a = new int[100];
Arrays.sort(a);


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值