JAVA一维数组
TestD.java(动态):
public class TestD
{
public static void main(String args[]) {
int a[] ;
a = new int[3] ;
a[0] = 0 ;
a[1] = 1 ;
a[2] = 2 ;
Date days[] ;
days = new Date[3] ;
days[0] = new Date(2008,4,5) ;
days[1] = new Date(2008,2,31) ;
days[2] = new Date(2008,4,4) ;
}
}
class Date
{
int year,month,day ;
Date(int year ,int month ,int day) {
this.year = year ;
this.month = month ;
this.day = day ;
}
}
TestS.java(静态):
public class TestS
{
public static void main(String args[]) {
int a[] = {0,1,2} ;
Time times [] = {new Time(19,42,42),new Time(1,23,54),new Time(5,3,2)} ;
}
}
class Time
{
int hour,min,sec ;
Time(int hour ,int min ,int sec) {
this.hour = hour ;
this.min = min ;
this.sec = sec ;
}
}
TestDefault.java(默认):
public class TestDefault
{
public static void main(String args[]) {
int a [] = new int [5] ;
System.out.println("" + a[3]) ; //输出0
}
}
JAVA二维数组:
静态初始化:
public class Array2
{
public static void main(String args[]) {
int a[][] = {{1,2},{3,4,5,6},{7,8,9}} ;
for(int i=0 ; i <a.length ; i++) {
for(int j=0 ; j<a[i].length ; j++) {
System.out.println("a[" + i + "][" + j + "]=" + a[i][j]) ;
}
}
}
}
动态初始化:
public class Array2D
{
public static void main(String args[]) {
int i , j ;
String s[][] ;
s = new String[3][] ;
s[0] = new String[2] ;
s[1] = new String[3] ;
s[2] = new String[2] ;
for(i=0 ; i<s.length ; i++) {
for(j=0 ; j <s[i].length ; j++) {
s[i][j] = new String("我的位置是:" + i + "," + j) ;
}
}
for(i=0 ; i<s.length ; i++) {
for(j=0 ; j<s[i].length ; j++) {
System.out.println(s[i][j]) ;
}
}
}
}
C++和JAVA的区别:
C++:
int A[5]={1,2,3,4};
int A[]={1,2,3,4,5};可以指明长度,也可以不指定,不指定时按元素实际个数作为长度。
动态时
{
int *A;
A=new int[5];
delete[] A;
}
{
int **B;
B=new int*[5];
for(int i=0;i<5;i++)
B[i]=new int[4];
for(int j=0;j<5;j++)
delete[] B[i];
delete[] B;
}
C++中二维数组每行的长度必须相等
而JAVA中二维数组每行的长度可以不相等
JAVA:
int A[]={1,2,3,4};一定不会声明长度
但是可以int A[]=new int[5];动态分配长度
也就是JAVA等号左边不会出现长度的数字,都是int A[],int B[][]等