zoukankan      html  css  js  c++  java
  • java 数组

    数组:

      数组是同意变量的集合,不仅可以是基本数据类型,也可以是类的对象集合。

      数组的缺点就是定长,不能随时扩张,所以一般是确定个数时用,不确定时一般用集合。

      优点就是可以一下子定义多个相同类型的数据。  

      使用数组必须有两个步骤:1.声明数组。2.分配内存

      数组的数组名称保存在栈中,当分配完内存后就指向一个堆,堆里面放的是数组的元素。

      例子:int a[] = {1,2,3}; 

         int b[] = {4,5,6};

         a = b;

         a[1]= 0 ;

      这个时候a {4,0,6},b也是{4,0,6},以为a ,b 都是指向{4,5,6}的这个堆。

      数组的遍历输出(foreach 高级for循环):

        一维数组:

        int a[] = {4,5,6,8,4,2,5,6,4,2,8,6}

        for (int x:a){

          System.out.print(x + " " );

        }

        二维数组:

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

         for (int[] x:a){

           for(int y : x){

            System.out.print(y + " " );

            }

          System.out.println(); 

         }    

       

    • 使用java数组之前必须现对数组对象进行初始化。当数组的所有元素都被分配了合适的内存空间,并制定了初始值时,数组初始化完成。程序以后将不能改变数组对象在内存中的位置和大小。从用法角度看,数组元素相当于普通变量,程序即可以把数组元素的值赋给普通变量,也可把普通变量的值赋给数组元素。
     
    • java语言是典型的静态语言,所以java数组是静态的,被初始化之后长度就不可改变。
     
    • 初始化:
      • 静态初始化:初始化是有程序员显示制定每个数组元素的初始值,由系统决定数组长度
      • 动态初始化:初始化时程序员只指定数组长度,有系统为数组元素分配初始值
     
    • 数组变量是一种引用类型的变量,数组变量并不是数组本身,他只是指向数组堆内存中的数组对象。因此,可以改变一个数组变量所引用的数组,这样就可以造成数组长度可变的假象。
     
    • 所有局部变量都是放在栈内存里保存,不管是基本类型的变量还是引用类型的变量,都是存储在各自的方法栈区中;但引用类型变量所引用的对象则是存储在堆内存中。
     
    • 当通过引用变量来访问实例属性,或者调用非静态方法时,如果引用变量还未引用一个有效的对象,程序就引发NullPointer  空指针异常。
  • 相关阅读:
    WPF控件操作之改变父控件之TabControl示例
    WPF里面的DockPanel的Fill去哪了,如何填满整个空间
    [原创]winform自定义控件之类属性-多重属性-可折叠属性
    WinForm之DataBinding
    WinForm自定义控件之DefaultValue的误解
    code snippet:依赖属性propa的小技巧
    【原创】WinForm中实现单独Time控件的方式
    node.js安装本地模块遇到的目录锁定问题【新手问题】
    《程序员思维修炼》之德雷福斯模型
    IOptions、IOptionsMonitor以及IOptionsSnapshot
  • 原文地址:https://www.cnblogs.com/dogLin/p/5862131.html
Copyright © 2011-2022 走看看