大数据 -- java基础语法下4

大数据 -- java基础语法下4,第1张

大数据 -- java基础语法下4

1、数组:数组是存储同一种数据类型多个元素的集合,也可以看成是一个容器。
   特点:
 (1)、元素的数据类型一致,可以存放基本数据类型,也可以存放引用数据类型。
 (2)、数组的长度是固定的。

2、数组的定义格式(两种): 

(1)、数据类型[ ] 数组名;   --  定义一个存放int类型数据的数组。(推荐使用第一种)  

int[] arr;


(2)、数据类型 数组名[ ];

int arr[];

   数组没有初始化不能被使用,初始化?
            初始化就是给这个变量开辟一个内存空间,为将来的值提供存放的空间。

3、数组的初始化方式(两种):
(1)、动态初始化:初始化时只指定数组长度,由系统为数组分配初始值。
            格式:数据类型[] 数组名 = new 数据类型[元素的个数];      

int[] arr = new int[3];

           表示的是定义一个长度为3并且元素是int类型的一维数组。
                
(2)、静态初始化:初始化时指定每个数组元素的初始值,由系统决定数组长度。
            格式:数据类型[] 数组名 = new 数据类型[]{元素值1,元素值2...};
            简化格式:数据类型[] 数组名 = {元素值1,元素值2...};

int[] arr = {1,2,3,4,5};
 //动态初始化一个数组: 定义一个可以存放3个int类型数据的数组。
 
      int[] arr = new int[3];      
      System.out.println(arr); //[I@4554617c :这是arr数组在堆内存中的地址值,数字结尾的c表示地址是十六进制的形式。
    
      //索引(index) :从左往右编号,从0开始。我们可以通过索引获取到该位置上的元素
      // 获取数组元素的格式:数组名[元素的索引]
      System.out.println(arr[0]); //获取第一个元素   0
      System.out.println(arr[1]); //获取第二个元素   0
      System.out.println(arr[2]); //获取第三个元素   0
        

 会发现获取的三个元素结果都是0,为什么呢?
        因为我们没有给数组元素赋值,而系统默认给出的初始值是0。

由上图可知:

       系统默认给出的初始值:
       byte、short、int、long      0
       float、double               0.0
       char                        'u0000'
       boolean                     false
       引用数据(数组等)            null

JVM将内存划分成的5个部分:
        栈:局部变量和方法的调用
        堆:new出来的东西都在堆里面
        方法区
        本地方法区
        寄存器

4、如何给数组中的元素进行赋值呢?
             通过数组中的索引给元素进行赋值。

   //给数组中第一个元素进行赋值
   arr[0] = 10;
   //给数组中第二个元素进行赋值
   arr[1] = 20;
   //给数组中第三个元素进行赋值
   arr[2] = 30;
   System.out.println(arr[0]);  //10
   System.out.println(arr[1]);  //20
   System.out.println(arr[2]);  //30

   注意动态初始化不能与静态初始化混合使用!!

 int[] arr = new int[3]{11,22,33};   //error


        
5、数组遍历:
        获取的长度的属性:length
        使用格式:数组名.length

    public static void printArray(int[] arr){
        for(int i=0;i

然后在main方法中调用该方法,传入一个arr数组就可以了。

printArray(arr);   //方法调用格式


6、二维数组:元素是由一维数组组成的数组。

定义格式(三种):

(1)、数据类型[][] 数组名 = new 数据类型[m][n];
             m:表示的是有多少个一维数组
             n:表示的一维数组的元素个数

int[][] arr = new int[3][2]; 

   表示的是定义一个有3个长度为2的一维数组arr组成的二维数组。


   
(2)、数据类型[][] 数组名 = new 数据类型[m][];
             m:表示的是有多少个一维数组

int[][] arr = new int[4][];

  给数组赋值:

//表示二维数组中第一个元素是一个长度为4的int类型的一维数组。
arr2[0] = new int[4];
//表示二维数组中第二个元素是一个长度为5的int类型的一维数组。
arr2[1] = new int[5];
//表示二维数组中第三个元素是一个长度为10的int类型的一维数组。
arr2[2] = new int[10];


(3)、数据类型[][] 数组名 = new 数据类型[][]{{元素1,元素2...},{元素1,元素2,元素3...},...};

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

简化格式:数据类型[][] 数组名 = {{元素1,元素2...},{元素1,元素2,元素3...},...};   (推荐)

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

 表示的是:二维数组arr中有三个一维数组,分别是{1,2},{3,4,5},{1,2,3,4,5}

    注意:
        1、以下几种写法也是二维数组
            数据类型[] 数组名[];

    int[] arr[] = new int[3][2];

            数据类型 数组名[][];

    int arr[][] = new int[3][2];

        2、格式3不能与格式1、格式2混合使用。

int[][] arr = new int[2][]{{1,2},{3,1,2}};  //错误格式

   

7、二维数组的遍历方式: 双重for循环

//定义一个二维数组
int[][] num = {{1, 2}, {2, 3, 4}, {4, 5, 6, 7}, {7, 8, 9, 10}};

for (int i = 0; i < num.length; i++) {  //外层循环遍历到的是每一个一维数组
    System.out.println("第" + (i + 1) + "个数组:");
    for (int j = 0; j < num[i].length; j++) {   //内层循环遍历每个一维数组的值
        if (j == num[i].length - 1) {
           System.out.print(num[i][j] + "]");
        } else if (j == 0) {
           System.out.print("[" + num[i][j] + ",");
        } else {
           System.out.print(num[i][j] + ",");
        }
     }
     //每次内循环结束表示打印完一个一维数组,换行
     System.out.println();
}


  java基础还在持续更新中,喜欢的朋友可以给我点个赞。谢谢。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5700300.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存