java一维数组定义
① java:java一维数组和二维数组的定义方法
(一)一维二维数组的定义:
[html]view plain
/*一维数组定义的几种方法:
*int[]x;
intx[];
二维数组定义的几种方法:
int[][]y;
inty[][];
int[]y[];
int[]x,y[];//x一维、y二维
int[]x;
int[]y[];
-----------
a:
x[0]=y;//cuo
b:
y[0]=x;//yes
c:
y[0][0]=x;//cuo
d:
x[0][0]=y;//cuo
e:
y[0][0]=x[0];//yes
f:
x=y;//cuo
*/
packagetest;
publicclasstest{
publicstaticvoidmain(String[]args)
{
inta[][]=newint[3][4];
for(intx=0;x<3;x++)
{
for(inty=0;y<4;y++)
System.out.print(a[x][y]);
System.out.println();
}
}
}
控制台输出结果:
0000
0000
0000
(二)使用二维数组:
[html]view plain
② java 中定义一个int型的一维数组,包含10个随机元素,
③ java 如何定义数组和初始化
1.数组的定义:
数组可以分为一维数组,二维数组,多维数组。一维数组的定义有以下两种方式:
type[]arr_name;
typearr_name[];
二维数组的定义方式如下:
type[][]arr_name;
typearr_name[][];
多维数组可根据维数指定相应个数的[ ]
int[]arr1;
String[]arr2;
floatarr3[];
String[][]arr4;
2.数组的初始化:
数组的初始化有以下两种方式
静态初始化
静态初始化是指在定义的同时指定数组元素内容,示例代码如下:
int[]arr1={1,2,3,4,5};
String[]arr2={"tom","rose","sunny"};
String[][]arr3={{"tom","American"},{"jack","England"},{"张三","china"}};
动态初始化
动态初始化是指在定义时首先通过new 关键字开辟指定大小的存储空间,然后在为数组指定内容
int[]arr1=newint[2];
arr1[0]=10;
arr2[1]=20;
arr3[2]=30;
④ java中数组的特点数组的声明和初始化方法和简单变量有什么不同
java语言中,数组是一种最简单的复合数据类型。数组是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和下标来唯一地确定数组中的元素。数组有一维数组和多维数组。
★ 一维数组
1. 一维数组的定义
type arrayName[ ];
类型(type)可以为Java中任意的数据类型,包括简单类型和复合类型。
例如:
int intArray[ ];
Date dateArray[];
2.一维数组的初始化
◇ 静态初始化
int intArray[]={1,2,3,4};
String stringArray[]={"abc", "How", "you"};
◇ 动态初始化
1)简单类型的数组
int intArray[];
intArray = new int[5];
2)复合类型的数组
String stringArray[ ];
String stringArray = new String[3];/*为数组中每个元素开辟引用
空间(32位) */
stringArray[0]= new String("How");//为第一个数组元素开辟空间
stringArray[1]= new String("are");//为第二个数组元素开辟空间
stringArray[2]= new String("you");// 为第三个数组元素开辟空间
3.一维数组元素的引用
数组元素的引用方式为:
arrayName[index]
index为数组下标,它可以为整型常数或表达式,下标从0开始。每个数组都有一个属性length指明它的长度,例如:intArray.length指明数组intArray的长度。
★多维数组
Java语言中,多维数组被看作数组的数组。
1.二维数组的定义
type arrayName[ ][ ];
type [ ][ ]arrayName;
2.二维数组的初始化
◇ 静态初始化
int intArray[ ][ ]={{1,2},{2,3},{3,4,5}};
Java语言中,由于把二维数组看作是数组的数组,数组空间不是连续分配的,所以不要求二维数组每一维的大小相同。
◇ 动态初始化
1) 直接为每一维分配空间,格式如下:
arrayName = new type[arrayLength1][arrayLength2];
int a[ ][ ] = new int[2][3];
2) 从最高维开始,分别为每一维分配空间:
arrayName = new type[arrayLength1][ ];
arrayName[0] = new type[arrayLength20];
arrayName[1] = new type[arrayLength21];
…
arrayName[arrayLength1-1] = new type[arrayLength2n];
3) 例:
二维简单数据类型数组的动态初始化如下,
int a[ ][ ] = new int[2][ ];
a[0] = new int[3];
a[1] = new int[5];
对二维复合数据类型的数组,必须首先为最高维分配引用空间,然后再顺次为低维分配空间。
而且,必须为每个数组元素单独分配空间。
例如:
String s[ ][ ] = new String[2][ ];
s[0]= new String[2];//为最高维分配引用空间
s[1]= new String[2]; //为最高维分配引用空间
s[0][0]= new String("Good");// 为每个数组元素单独分配空间
s[0][1]= new String("Luck");// 为每个数组元素单独分配空间
s[1][0]= new String("to");// 为每个数组元素单独分配空间
s[1][1]= new String("You");// 为每个数组元素单独分配空间
3.二维数组元素的引用
对二维数组中的每个元素,引用方式为:arrayName[index1][index2]
例如: num[1][0];
4.二维数组举例:
【例2.2】两个矩阵相乘
public class MatrixMultiply{
public static void main(String args[]){
int i,j,k;
int a[][]=new int [2][3]; //动态初始化一个二维数组
int b[][]={{1,5,2,8},{5,9,10,-3},{2,7,-5,-18}};//静态初始化
一个二维数组
int c[][]=new int[2][4]; //动态初始化一个二维数组
for (i=0;i<2;i++)
for (j=0; j<3 ;j++)
a[i][j]=(i+1)*(j+2);
for (i=0;i<2;i++){
for (j=0;j<4;j++){
c[i][j]=0;
for(k=0;k<3;k++)
c[i][j]+=a[i][k]*b[k][j];
}
}
System.out.println("*******Matrix C********");//打印Matrix C标记
for(i=0;i<2;i++){
for (j=0;j<4;j++)
System.out.println(c[i][j]+" ");
System.out.println();
}
}
}
⑤ java一维数组和二维数组的区别
在java中数组被看成是一个对象
在定义数组时,有两种定义方法:int[] a 和int a[];第二种是C/C++对数组定义方式,对于JAVA建议采用第一种定义方式。
总的原则:任何对象在被调用之前必须先被初始化!
1 一维数组的定义
//定义包含三个元素的一维数组
//方法1,先new对象,然后再初始化每个元素
int[] a = new int[3];
a[0] = 1;
a[1] = 2;
a[2] = 3;
方法一要注意的是不能这样写:
int[] a = new int[3];
a = {1,2,3};
原因是用new int[3]这种方式创建对象,对象已经被初始化并赋初值为0;可以用下面代码验证:
int[] d = new int[3];
for(int i=0;i<d.length;i++){
System.out.println(d[i]);
}
输入结果是:0 0 0
如果再用a = {1,2,3};来赋值,大家知道常量是不能再被赋值的,不可修改的。
//方法2,直接赋初值来创建对象
int[] b = {1,2,3};
//方法3,new完对象直接初始化
int[] c = new int[]{1,2,3};
方法三要注意的是不能这样写: int[] c = new int[3]{1,2,3};
即这种方法不能指定维度,原因:如果指定了数组初始化操作,则不能定义维表达式。
注意:如果用new定义数组时,必须指定其维度,这样定义是错误的: int[] d = new int[];
如果无法确定其元素个数,可以这样定义:int[] e = {};
2 二维数组的定义
基本与一维数组类似
//定义一个3行5列的二维数组
//方法1,先new对象,然后再初始化每个元素
int[][] a = new int[3][5];
a[0][0]=1;
a[0][1]=2;
a[0][2]=3;
//方法2,直接赋初值来创建对象
int[][] b = {{1,1,1,1,1}, {2,2,2,2,2}, {3,3,3,3,3} };
//方法3,new完对象直接初始化
int[][] a = new int[][] {{1,1,1,1,1}, {2,2,2,2,2}, {3,3,3,3,3} };
⑥ 在Java定义一个整型一维数组,至少包含5个值,求数组中的最大值并输出。
import java.util.*;
public class test1 {
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
int[]a=new int[10];//定义一个长度为10的数组,名为:a
int max1=-1;
for(int i=0;i<6;i++)
{//输入6个数
a[i]=cin.nextInt();
}
for(int i=0;i<6;i++)
{
max1=Math.max(max1,a[i]);
}
System.out.println(max1);
}
}
⑦ Java定义一个一维数组有哪几种方法
首先: 一维数组的声明 ; 代码如下
int[]ary1;//Java推荐的数组声明方式
intary2[];//不推荐,但也是正确的,C语言等使用这种方式
其次: 声明的声明和赋值
//参考一
int[]ary1={1,2,3};//声明的时候,同时赋值
//参考二
int[]ary2=newint[3];//指定数组的长度为3
ary2[0]=1;//数组下标从0开始,依次给每个元素赋值
ary2[1]=2;
ary2[2]=3;
//参考三
int[]ary3=newint[]{1,2,3};//注意,这里的newint[]方框里不能指定长度
最后: 注意数组的默认值;
简单数据类型,比如boolean类型的数组,默认值就是false, int类型的数组,默认值就是0.
对象类型的数组,比如Boolean类型的数组,默认值是null,Integer类型的数组,默认值还是null
int[]ary1=newint[1];
System.out.println(ary1[0]);//输出0
Integer[]ary2=newInteger[1];
System.out.println(ary2[0]);//输出null
boolean[]b1=newboolean[1];
System.out.println(b1[0]);//输出false
Boolean[]b2=newBoolean[1];
System.out.println(b2[0]);//输出null