`
hpjianhua
  • 浏览: 239811 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类

Java中的二维数组的定义与学习

阅读更多
//定义二维数组写法1   
class numthree
{
public static void main(String[] args)
{
float[][] numthree;             //定义一个float类型的2维数组
numthree=new float[5][5];       //为它分配5行5列的空间大小
numthree[0][0]=1.1f;            //通过下标索引去访问     1行1列=1.1
numthree[1][0]=1.2f;                                  // 2行1列=1.2
numthree[2][0]=1.3f;                                  // 3行1列=1.3
numthree[3][0]=1.4f;                                  // 4行1列=1.4
numthree[4][0]=1.5f;                                  // 5行1列=1.5
System.out.println(numthree[0][0]); //打印换行输出喽 
System.out.println(numthree[1][0]);
System.out.println(numthree[2][0]);
System.out.println(numthree[3][0]);
System.out.println(numthree[4][0]);
}
}
//定义二维数组写法2   定义的同时分配空间大小
class numfour
{
public static void main(String[] args)
{
   short[][] numfour=new short[5][8]; //定义一个short类型的数组同时为它分配5行8列的空间大小
   numfour[0][7]=10;
   numfour[1][6]=20;
   numfour[2][5]=30;
   numfour[3][4]=40;
   numfour[4][3]=50;
   System.out.println(numfour[0][7]);
   System.out.println(numfour[1][6]);
   System.out.println(numfour[2][5]);
   System.out.println(numfour[3][4]);
   System.out.println(numfour[4][3]);
}
}


//定义二维数组写法3        不规则数组 

class numfive
{
public static void main(String[] args)
{
long[][] numfive=new long[5][];     //定义一个long类型的不规则数组 
numfive[0]=new long[5];             //为第1行分配5列
numfive[1]=new long[6];             //为第2行分配6列
numfive[2]=new long[7];             //为第3行分配7列
numfive[3]=new long[8];             //为第4行分配8列
numfive[4]=new long[9];             //为第5行分配9列
numfive[0][4]=10000000000L;         //1行5列=10000000000
numfive[1][5]=20000000000L;         //2行6列=20000000000
numfive[2][6]=30000000000L;         //3行7列=30000000000
numfive[3][7]=40000000000L;         //4行8列=40000000000
numfive[4][8]=50000000000L;         //5行9列=50000000000
System.out.println(numfive[0][4]); //打印换行输出喽 
System.out.println(numfive[1][5]);
System.out.println(numfive[2][6]);
System.out.println(numfive[3][7]);
System.out.println(numfive[4][8]);
System.out.println(numfive[4][7]);
//打印输出一个没有定义数组元素的数组 java会自动将他初始化值为0 
} 
} 


//定义2维数组写法4    定义的同时赋初始值 
class numsix 
{ 
public static void main(String[] args) 
{ 
double[][] numsix={{1.111D,2.222D,3.333D},{4.444D,5.555D,6.666D}};//定义double型的数组分配3行3列的空间同时赋值 
System.out.println(numsix[0][0]); //打印换行输出1行1列=1.111 
System.out.println(numsix[1][1]); //打印换行输出2行2列=5.555 
} 
} 

//定义2维数组写法5   定义不规则的2维数组同时赋初始值 

class numseven
{
public static void main(String[] args)
{
int[][] numseven=new int[][]{{10,20,30},{40,50},{60}};
System.out.println(numseven[0][2]);
System.out.println(numseven[1][1]);
System.out.println(numseven[0][0]);
}
}

//定义2维数组写法6 定义不规则的2维数组同时赋初始值; 

class numeight
{
public static void main(String[] args)
{
int[][] numeight={{100,200,300,400},{500,600,700,800},{900,1000,1100,1200,1300}};
System.out.println(numeight[0][2]);
System.out.println(numeight[1][2]);
System.out.println(numeight[2][1]);
}
}




在java中,对数组的定义其实比较灵活;
     例如对主函数的定义public static void main(String[] args) 也可以写成public static void main(String args[]) ,请注意[]的位置,[]可以放在数组类型的后面,也可以放在数组名的后面。

      我们通过一个例子就可以很明显的看出来
     先看源程序:
       //一维数组定义与输出 

class  less02
{
 public static void main(String[] args) 
 {
  int stu[]=new int[]{1,2,3};   //方法一
  //int stu[]={1,2,3};                 方法二
  //int []stu=new int[]{1,2,3};  方法三
  //int[] stu={1,2,3};                方法四
  for(int i=0;i<stu.length;i++)
   System.out.println(stu[i]);
 }
}


//二维数组定义与输出 
class less02 
{ 
public static void main(String args[]) 
{ 
  //int [][] num=new int[][]{{1,2,3},{4,5,6}};     方法一 
  int [][] num={{1,2,3},{4,5,6}};                      //方法二 
  for (int i=0;i<num.length ;i++ ) 
  { 
   for (int j=0;j<num[i].length ;j++ ) 
   { 
    System.out.print(num[i][j]+" "); 
   } 
   System.out.println(); 
  } 
} 
} 


对于一维数组的定义,我总结了四种;二维数组的定义,我中介了两种
有没有其他定义方法呢?还请大家共同来研究。




在java中数组被看成是一个对象

在定义数组时,有两种定义方法:int[] a 和int a[];第二种是C/C++对数组定义方式,对于JAVA建议采用第一种定义方式。

1 一维数组的定义

 //定义包含三个元素的一维数组 

  int[] a = new int[3];  a = {1,2,3};//方法1,先new对象,然后赋值 

  int[] b = {1,2,3}; //方法2,直接赋值 

  int[] c = new int[3]{1,2,3}; //方法3,new后直接赋值 

注意:如果用new定义数组时,必须指定其维度,这样定义是错误的: int[] d = new int[];

            如果无法确定其元素个数,可以这样定义:int[] e = {};

2 二维数组的定义

//定义一个3行5列的二维数组 

int[][] a = new int[3][5]; 

a = {{"a","a","a","a","a"}, {"b","b","b","b","b"}, {"c","c","c","c","c"} }; //方法1 

int[][] b = { 

            {"a","a","a","a","a"}, 
            {"b","b","b","b","b"}, 
            {"c","c","c","c","c"} 

        };//方法2 

int[][] c = new int[3][5]{{"a","a","a","a","a"}, {"b","b","b","b","b"}, {"c","c","c","c","c"} };


//方法3

定义二维数组必须指定其行数,列数可以指定,可以不指定。

这样定义是正确的:int[][] d = new int[3][]; 

这样定义是错误的:int[][] d = new int[][4]; int[][] d = new int[][]; 

也可以定义不规则数组: 

arr = new int[2][]; 

        arr[0] = new int[3]; 

        arr[1] = new int[5]; 


3 数组的长度

   length是数组的一个属性(不是方法!),对于一维数组int[] b = {1,2,3}; b.length的值是3,


    对于二维数组,首先研究一下它的配置细节:

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

上面这个程序片段中,配置了2行3列的二维数组对象,由于数据类型是int,所以数组元素的预设元素为0。

其实arr[0]、arr[1]是两个一维数组对象,其长度各为3,而arr类型是int[] [],内容值为arr[0]与arr[1]。其关系如图1所示。



因此arr.length与arr[0].length所表示的长度意义是不同的,arr.length表示的是数组的行数,arr[i].length表示的是指定行所包含的元素数。本例中,arr.length=2,arr[0].length=3。

分享到:
评论
2 楼 Redpick13 2013-03-25  
楼主好人啊,有耐心
1 楼 devil__lord 2013-02-01  
不错讲得很清楚 color=#cff

相关推荐

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

    在Java编程中,将二维数组转换为JSON格式的数据是常见的数据处理需求,特别是在处理Web服务或数据交换时。本文将详细讲解如何使用Java实现这一功能,以及涉及的相关操作技巧。 首先,我们需要理解二维数组和JSON的...

    java 二维数组的创建与使用

    在Java编程语言中,二维数组是一种特殊的数组,它由多个一维数组组成,形如一个矩阵。二维数组常用于处理表格数据或者进行矩阵运算。本文将深入探讨Java中二维数组的创建、初始化、访问和操作。 ### 1. 创建二维...

    二维数组转json的java源码

    在Java编程中,将二维数组转换为JSON对象是一项常见的任务,特别是在处理表格数据或结构化信息时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它...

    java二维数组的理解

    ### Java二维数组的理解 在Java中,二维数组是一种特殊的数组结构,它由多个一维数组组成,形成一个矩阵形式的数据...通过本文的学习,相信读者已经能够熟练掌握Java二维数组的相关知识,并能够在实际项目中灵活运用。

    二维数组如何进行冒泡排序

    #### 三、二维数组与一维数组转换 对于二维数组的排序,通常的做法是先将其转换为一维数组,然后再利用冒泡排序对一维数组进行排序,最后再将排序后的一维数组还原为二维数组。这种方法不仅易于理解和实现,而且...

    JNA调用C++动态库,传入二维数组,通过C++返回二维数组,java调用C++完整案例

    例如,如果你有一个C++函数接收二维数组并返回二维数组,你可以这样在Java中定义: ```java public interface MyDLL extends Library { // 定义C++函数原型 int processArray(int[][] input, int[][] output); } ...

    java 将一个二维数组存到txt文件里,然后再读取

    - 遍历字符串数组,使用`Double.parseDouble()`方法将字符串转换为`double`类型的数据,并填充到新定义的二维数组`arr2`中。 3. **验证结果**: - 最后,使用嵌套循环打印出`arr2`中的所有元素,以验证读取和转换...

    java一维和二维数组实现乘法表

    然而,二维数组更符合乘法表的逻辑结构,因为它可以在内存中表示成一个表格。二维数组由多个一维数组组成,每个一维数组称为一个行。对于9x9的乘法表,你可以声明一个9x9的二维数组: ```java int[][] ...

    Java二维数组实现简单Map

    在Java编程语言中,二维数组可以被用来模拟简单的Map数据结构。Map是一种键值对的集合,其中每个键(Key)都是唯一的,并且与一个值(Value)相关联。尽管Java提供了内置的Map接口(如HashMap、TreeMap等),但有时...

    二维数组排序

    在Java中,可以通过以下方式创建和初始化二维数组: ```java private static final int COL = 3; // 定义列数 private static final int ROW = 256; // 定义行数 private static final int[][] s = new int[ROW]...

    JAVA中的二维数组

    ### JAVA中的二维数组知识点解析 #### 一、一维数组 **1.1 定义与初始化** 在Java中,数组是一种基本的数据结构,用于存储相同类型数据的集合。一维数组是最简单的一种形式。 - **声明并赋值**: - **方法一**...

    java二维数组删除特定行代码

    ### Java二维数组删除特定行 #### 1. 理解问题背景 在给定的代码片段中,我们看到一个名为`quzheng`的类,其中定义了几个静态变量以及一个名为`delete`的方法,用于删除满足特定条件的行。`data`二维数组存储了...

    程序 二维数组

    在C++中,可以这样定义二维数组: ```cpp int arr[3][4]; ``` 这里定义了一个3行4列的二维数组。在Java中,定义方式稍有不同,需要使用两个大括号: ```java int[][] arr = new int[3][4]; ``` 而在Python中,二维...

    Java二维数组简单定义与使用方法示例

    Java二维数组简单定义与使用方法示例 Java二维数组是一种复杂的数据结构,它可以存储大量的数据,并且可以根据需要动态扩展。下面是Java二维数组的简单定义与使用方法示例。 Java二维数组的定义 Java二维数组是由...

    Java数组的定义、初始化、及二维数组用法分析

    四、Java二维数组的介绍及使用 二维数组可以看成是一个平面图形,是一维数组的扩展。二维数组的声明和一维数组类似,内存分配是使用new关键字,例如: 声明:type arrayName [][]; 初始化: arrayName [][]=new ...

    定义一个20*5的二维数组,用来存储某班级20位学员的5门课的成绩;这5门课

    定义一个20*5的二维数组,用来存储某班级20位学员的5门课的成绩;这5门课 按存储顺序依次为:core C++,coreJava,Servlet,JSP和EJB。 (1)循环给二维数组的每一个元素赋0~100之间的随机整数。 (2)按照列表的...

    java 二维数组

    #### 一、二维数组的概念与定义 在Java中,所谓的“二维数组”实际上是指“元素是一维数组的一维数组”。这种结构可以用来表示矩阵或者表格等具有行和列的数据结构。虽然Java语言并没有提供真正意义上的多维数组...

    SSH1,JQuery的ajax返回json二维数组处理过程

    在本文中,我们将探讨如何使用SSH1框架与jQuery的AJAX功能来处理JSON二维数组,特别是在实现菜单联动下拉框的场景中。SSH1(Spring、Struts、Hibernate)是Java开发中的一个流行MVC框架组合,而jQuery的AJAX功能则...

    matlab 三维 数组(含代码)

    1. **三维数组定义**: 三维数组可以看作是多个二维矩阵在第三维上的堆叠。比如,一个3x3x3的三维数组实际上由9个1x1x1的单元组成,每个单元都是一个单独的三维矩阵。在MATLAB中,我们可以通过索引来访问这些元素,...

    Java二维数组的几种定义法.pdf

    本文将详细介绍Java中定义二维数组的四种常见方法,并通过示例代码进行说明。 1. **定义二维数组并分配空间** 这是最基本的定义二维数组的方式。首先声明数组类型,然后指定数组的行数和列数。例如: ```java ...

Global site tag (gtag.js) - Google Analytics