Java中一维二维数组的静态和动态初始化

今天我们要开始来讲讲Java中的数组,包括一维数组和二维数组的静态初始化和动态初始化

数组概述:

数组可以看成是多个相同类型数据的组合,对这些数据的统一管理;

数组变量属于引用数据类型,数组也可以看成是对象,数组中的每一个元素相当于该对象的成员变量;

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

一维数组的声明:

声明方式: 例如; int a [ ]  = new int [3];

Java语言中 声明是不能指定其长度[数组中元素的个数];

非法声明; int a [5];

数组对象的创建:

public class Test {
   public static void main (String args[ ] ) {
     int [ ] s;
     s = new int [5];
     for(int i = 0; i < 5; i ++) {
     s[i] = 2 * i + 1;
     }
   }
}

一维数组初始化

动态初始化:

public class Test {
  public static void main (String args [ ] ) {
  int a [ ];
  a = new int [3];
  //int a [ ] = {1,2,3};
  Date days [ ];
  days = new Date [3];
  days [0] = new Date(1,4,20040);
  days [1] = new Date(2,4,20040);
  days [2] = new Date(3,4,20040);
  }
}
class Date {
  int year,month,day;
  Date (int y,int m,int d) {
    year = y; month = m; day = d;
  }
}

静态初始化

public class Test {
  public static void mian (String args [ ] ) {
    int a[ ] = new int [ ] {3,9,8};
    Date days[ ] = {
    new Date(1,4,2004),
    new Date(2,4,2004),
    new Date(3,4,2004)
    };
  }
}
class Date {
  int year,month,day;
  Date(int y,int m,int d) {
    year = y; month = m;day = d;
  }
}

二维数组

二维数组可以看成数组为元素的数组,例如:

int a [ ][ ] = {{1,2},{3,4,5,6},{7,8,9}};

二维数组初始化

静态初始化:

 int intA [ ] [ ] = {{1,2},{2,3},{3,4,5}};
  int intB [ 3] [ 2] = {{1,2},{2,4},{4,5}};  非法

动态初始化: 

int a [ ] [ ] = new int [3] [5];
  int b [ ] [ ] = new int [3] [ ];
  b[0] = new int [2];
  b[1] = new int [3];
  b[2] = new int [5];
(0)

相关推荐

  • JavaScrip数组删除特定元素的几种方法总结

    前言 可能一说到删除数组特定元素你估计不止一种方法可以实现,那么下面且来看看我总结的这几种方法,可能会对你有所帮助!话不多说了,来一起看看详细的介绍吧. 源数组 var arr = ["George", "John", "Thomas", "James", "Adrew", "Martin"]; 伪删除 什么是伪删除呢? 就是说将数组元素值设置为null; arr[ arr.indexO

  • java数组基础详解

    数组 数组(Array):相同类型数据的集合. Java 数组初始化的两种方法: 静态初始化: 程序员在初始化数组时为数组每个元素赋值: 动态初始化: 数组初始化时,程序员只指定数组的长度,由系统为每个元素赋初值. 数组是否必须初始化 对于这个问题,关键在于要弄清楚数组变量和数组对象的差别.数组变量是存放在栈内存中的,数组对象是存放在堆内存中的.数组变量只是一个引用变量,他能够指向实际的数组对象. 所谓的数组初始化并非对数组变量初始化,而是对数组对象进行初始化. 定义数组 方式1(推荐,更能表明

  • 详解java中反射机制(含数组参数)

    详解java中反射机制(含数组参数) java的反射是我一直非常喜欢的地方,因为有了这个,可以让程序的灵活性大大的增加,同时通用性也提高了很多.反射原理什么的,我就不想做过大介绍了,网上一搜,就一大把.(下面我是只附录介绍下) Reflection 是Java被视为动态(或准动态)语言的一个关键性质.这个机制允许程序在运行时透过Reflection APIs取得任何一个已知名称的class的内部信息,包括其modifiers(诸如public, static 等等).superclass(例如O

  • 详解Java数据结构和算法(有序数组和二分查找)

    一.概述 有序数组中常常用到二分查找,能提高查找的速度.今天,我们用顺序查找和二分查找实现数组的增删改查. 二.有序数组的优缺点 优点:查找速度比无序数组快多了 缺点:插入时要按排序方式把后面的数据进行移动 三.有序数组和无序数组共同优缺点 删除数据时必须把后面的数据向前移动来填补删除项的漏洞 四.代码实现 public class OrderArray { private int nElemes; //记录数组长度 private long[] a; /** * 构造函数里面初始化数组 赋值默

  • java实现二维数组转置的方法示例

    本文实例讲述了java实现二维数组转置的方法.分享给大家供大家参考,具体如下: 这里在文件中创建Test2.Exchange.Out三个类 在Exchange类中编写exchange()方法,在方法中创建两个数组arraryA.arraryB,arraryB[j][i]=arraryA[i][j]实现数组的转置. 在Out类中编写out()方法,在方法中用for循环遍历实现输出. 具体代码如下: package Tsets; import java.util.*; public class Te

  • Java实现数组去除重复数据的方法详解

    本文实例讲述了Java实现数组去除重复数据的方法.分享给大家供大家参考,具体如下: 前一段时间被面试问到:如果一个数组中有重复元素,用什么方法可以去重?一时间会想到用一种方法,但是后来查阅资料后发现,有好多方法可以实现,现在就总结一下,比较简单的几种. 一.用List集合实现 int[] str = {5, 6, 6, 6, 8, 8, 7,4}; List<Integer> list = new ArrayList<Integer>(); for (int i=0; i<s

  • Java中一维二维数组的静态和动态初始化

    今天我们要开始来讲讲Java中的数组,包括一维数组和二维数组的静态初始化和动态初始化 数组概述: 数组可以看成是多个相同类型数据的组合,对这些数据的统一管理; 数组变量属于引用数据类型,数组也可以看成是对象,数组中的每一个元素相当于该对象的成员变量; 数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型; 一维数组的声明: 声明方式: 例如; int a [ ]  = new int [3]; Java语言中 声明是不能指定其长度[数组中元素的个数]; 非法声明; int a [5];

  • Java中的二维数组的赋值与输出方式

    目录 二维数组的赋值与输出 随机给二维数组赋值,打印输出每个元素 题目 二维数组的赋值与输出 public class Demo1 { public static void main(String[] args) { //声明一个二维数组:有三行,列数待定,数组结构表示为{{ },{ },{ }} String s[][]=new String[3][];//动态赋值二维数组 s[0]=new String[3]; s[1]=new String[2]; s[2]=new String[3];

  • C语言与java语言中关于二维数组的区别

    目录 C语言数中二维数组的定义格式 Java语言中二维数组的定义与初始化 静态初始化 动态初始化 下面给出两者的对比截图 C语言中的数组元素分布 Java中的数组元素分布 数组是编程语言中常用的数据结构,然而在不同的环境下,其定义及初始化的方式也不尽相同.下面来讲述一下C和Java中对于二维数组定义的区别以及其背后的原理. 在C语言中,二维数组的初始化可以省略行数,但不能省略列数:而在java中却是正好相反的,即列数可以省略,而行数是不能省略的.为什么会是这样呢?首先我们来回顾一下C和Java中

  • php一维二维数组键排序方法实例总结

    本文实例总结了php一维二维数组键排序方法.分享给大家供大家参考.具体方法如下: 在php中数组排序一直是一个老生常谈的问题,下面我们来集中讲一下关于在php中一维数组与二维数组排序的实现程序,相信对大家有一定的参考借鉴价值. 功能:对数组进行重新排序. 说明:冒泡排序 (一维数组)(二维数组某个健排序) 两两比较待排序数据元素的大小,发现两个数据元素的次序相反时即进行交换,直到没有反序的数据元素为止 设想被排序的数组R[1..N] 垂直竖立,将每个数据元素看作有重量的气泡,从下往上扫描数组,凡

  • Python中创建二维数组

    二维数组 二维数组本质上是以数组作为数组元素的数组,即"数组的数组",类型说明符 数组名[常量表达式][常量表达式].二维数组又称为矩阵,行列数相等的矩阵称为方阵.对称矩阵a[i][j] = a[j][i],对角矩阵:n阶方阵主对角线外都是零元素. Python中创建二维数组 Python中的列表list可以当做一维数组使用,但是没有直接的定义使用二维数组.如果直接使用a = [][]会产生SyntaxError: invalid syntax语法不正确错误. 一般Python中创建二

  • java int类型二维数组实现“杨辉三角”的完整实例

    杨辉三角的规律: 1.每行的数据个数和在第几行一样. 2.每行第一个数和最后一个数都是1. 3.每行除了第一个数据和最后一个数据 其他数据的值等于上面一行的对应列的值和左对角值的和.例如:a[2][1]=a[1][0]+a[1][1] 根据上面的规律我们设计程序 private static void demo(){ int[][] ints = new int[10][]; //动态给ints数组的一维赋值一个不同的数组 for (int i = 0; i < ints.length; i++

  • Java数据结构实现二维数组与稀疏数组转换详解

    基本介绍 当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组. 稀疏数组的处理方法是: ①记录数组一共有几行几列,有多少个不同的值(0除外). ②把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模. 二维数组转稀疏数组: ①遍历原始的二维数组,得到有效数据的个数 sum(除0外不同值) ②根据 sum 创建稀疏数组 sparseArr int[sum+1][3] ③将二维数组的有效数据数据存入到稀疏数组 (稀疏数组的第一行,三列分别记录二维数组

  • C#中获取二维数组的行数和列数以及多维数组各个维度的长度

    如何获取二维数组中的元素个数呢? int[,] array = new int[,] {{1,2,3},{4,5,6},{7,8,9}};//定义一个3行3列的二维数组 int row = array.Rank;//获取维数,这里指行数 int col = array.GetLength(1);//获取指定维度中的元素个数,这里也就是列数了.(0是第一维,1表示的是第二维) int col = array.GetUpperBound(0)+1;//获取指定维度的索引上限,在加上一个1就是总数,这

  • Java 轻松实现二维数组与稀疏数组互转

    目录 二维数组 稀疏数组 1.稀疏算法的基本介绍 2.稀疏算法的处理方式 二维数组转稀疏数组的思路 二维数组 二维数组本质上是以数组作为数组元素的数组,即“数组的数组”,类型说明符 数组名[常量表达式][常量表达式].二维数组又称为矩阵,行列数相等的矩阵称为方阵.对称矩阵a[i][j] = a[j][i],对角矩阵:n阶方阵主对角线外都是零元素. 稀疏数组 1.稀疏算法的基本介绍 当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组.从而减少计算机不必要的内存开销.

  • PHP中遍历二维数组_以不同形式的输出操作实例

    如下所示: <body> <?php //定义二维索引数组 $arr = array( array("101","李军","男","1976-02-20","95033"), array("103","陆君","男","1974-06-03","95031"), array("10

随机推荐