zoukankan      html  css  js  c++  java
  • Java 基础( 数组)

    数组

    • 数组(Array), 是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。

    • 数组的常见概念
      1.数组名
      2.下标(或索引)
      3.元素
      4.数组的长度:元素的个数

    • 数组的特点
      数组是有序排列的

    数组本身是引用数据类型,而数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型。

    创建数组对象会在内存中开辟一整块连续的空间,而数组名中引用的是这块连续空间的首地址。

    数组的长度一旦确定,就不能修改。

    可以直接通过下标(或索引)的方式调用指定位置的元素,速度很快。

    • 数组的分类
      1.按照维数: 一维数组,二为数组
      2.按照数组元素的类型,基本数据类型元素的数组,引用数据类型元素的数组

    • 数组元素的默认初始化值
      1.数组元素是整型: 0
      2.数组元素是浮点型: 0.0
      3.数组元素是char型, 0或'u0000',而非'0'
      4.数组元素是boolean型,false
      5.数组元素是引用数据类型: null

    java 内存构成

    多维数组

    • 如果说可以把一维数组当成几何中的线性图形,那么二维数组就相当于是一个表格。
    • 对于二维数组的理解,我们可以看成是一堆数组 array1 又作为另一个一维数组 array2 的元素而存在,其实,从数组底层的运行机制来看,其实没有多维数组。
    public class ArrayTest2 {
    	public static void main(String[] args) {
    		//1. 二维数组的声明和初始化
    		// 静态初始化1
    		int [][] arr1 = new int[][] {{1,2,3},{4,5},{6,7,8}};
    		
    		// 静态初始化2
    		int[] arr4[] = new int[][] {{1,2,3},{4,5},{6,7,8}};
    		
    		// 静态初始化3
    		int[] arr5[] = {{1,2,3},{4,5},{6,7,8}};
    		
    		// 动态初始化1
    		String[][] arr2 = new String[3][2];
    		
    		// 动态初始化2
    		String[][] arr3 = new String[3][];
    		
    		//2.如何调用数组的指定位置的元素
    		System.out.println(arr1[0][1]);    //2
    		System.out.println(arr2[1][1]);    //null
    		//System.out.println(arr3[1][0]);  //报错
    		
    		arr3[1] = new String[4];
    		System.out.println(arr3[1][0]);    //null
    		
    		//3.获取数组的长度
    		System.out.println(arr4.length);   //3
    		System.out.println(arr4[0].length);//3
    		
    		//4.遍历二维数组
    		for(int i = 0; i < arr4.length; i++) {
    			for(int j = 0; j < arr4[i].length; j++) {
    				System.out.print(arr4[i][j] + " ");
    			}
    			System.out.println();
    		}
    	}
    
    }
    
    

    二维数组

    • 二维数组分为外层数组的元素,内层数组的元素
      例如: int [][] arr = new int[4][3];
      外层元素: arr[0], arr[1]等
      内层元素:arr[0][0], arr[1][2]
    • 数组元素的默认初始化值
      针对初始化方式一:比如 int[][] arr = new int[4][3];
      外层元素的初始化值为:地址值
      内层元素的初始化值为:与一维数组初始化情况相同
      针对初始化方式二:比如 int[][] arr = new int[4][];
      外层元素的初始化值为:null
      内层元素的初始化值为:不能调用,否则报错

    二维数组内存解析

    public class ArrayTest3 {
    	public static void main(String[] args) {
    		int [][] arr = new int[4][3];
    		System.out.println(arr[0]);        //[I@182decdb  <- 一元数组地址值
    		System.out.println(arr[0][0]);     //0
    		System.out.println(arr);           //[[I@7637f22  <- 二元数组地址值
    		
    		System.out.println("********************************");
    		float[][] arr1 = new float[4][5];
    		System.out.println(arr1[0]);       //[F@4926097b
    		System.out.println(arr1[0][0]);    //0.0
    		
    		System.out.println("********************************");
    		String[][] arr2 = new String[4][2];
    		System.out.println(arr2[1]);       //[Ljava.lang.String;@2d363fb3
    		System.out.println(arr2[1][1]);    //null
    	}
    
    }
    
    
  • 相关阅读:
    详解事件驱动跟消息驱动机制相比
    浏览器加载 CommonJS 模块的原理与实现
    全面理解 javascript 的 argements caller callee call apply 之caller
    在javaScript中检测数据类型的几种方式
    Netbeans IDE 安装Emmet插件并解决Emmet插件无效果问题
    JS的 try catch使用心得
    safari 浏览器 input textarea select 等不能响应用户输入
    js十大排序算法
    js实现 页面加载 完成 后顺序 执行
    原生JS封装 toast 弹层,自动关闭
  • 原文地址:https://www.cnblogs.com/klvchen/p/14255817.html
Copyright © 2011-2022 走看看