java数组的初始化
Ⅰ java数组怎么初始化private int[20] a=
private
int[]
a
=
new
int[20];
首先int[]
是数据类型
不能写长度如你写的:int[20],是不对的!!!
其次,数组初始化很多种,如我提供的这种
直接new出数组长度并初始化。
第二种
{}
大括号的,这种适合数据量小且知道初始数据的。第三种数据返回型,也就是方法返回初始化数组定义。
你编译就错在定义数据类型时不能写长度,要定义定长的数组
new
int[100]
这样子写!!!!
Ⅱ java中一维数组的定义及初始化的方法有哪几种
两种:
1 int a[]=new int[10]
for(int i=0;i<10'i++){
a[i]=i+1;
}
2 int[] b={1,2,3,4,5,6}
Ⅲ java中怎么数组初始化
一维数组
1)
int[] a; //声明,没有初始化
2)
int[] a=new int[5]; //初始化为默认值,int型为0
3)
int[] a={1,2,3,4,5};
//初始化为给定值
4)
int[] a=new int[]{1,2,3,4,5}; //同(3)
int[] a=new int[5]{1,2,3,4,5};
//错误,如果提供了数组初始化操作,则不能定义维表达式
5)
int[] a;
a=new int[5]; //正确,同(2)一样
int[] a;
a={1,2,3,4,5}; //错误数组常量只能在初始化操作中使用,如(3)
6) int a[];
a[0]=1;
//错误,因为数组没有初始化,不能赋值a[1]=2; 二维数组
1)
int[][] a;
//声明,没有初始化
2) int[][] a=new int[2][3];
//初始化为默认值,int型为0
3)
int[][] a={{1,2},{2,3},{3,4}};
//初始化为给定值
int[][] a={{1,2},{2,3},{3,4,5}};
//没有错,数组空间不是连续分配的,所以不要求每一维的大小相同
4)
int[][] a=new int[2][];
a[0]=new int[3];
//a[0]其实就是一个数组a[1]=new int[4];
//每一维的大小可以不一样
;
5)
int[][] a=new
int[][]{{1,2},{2,3},{3,4,5}};
//同(3)
Ⅳ JAVA中怎么初始化对象数组
你这个试试对对象数组的一个声明,并没有示例话,所以会报空指针异常
这个数组对象都是现用现初始化的
Animals [] an=new Animals[5];//这只是个对象类型数组的声明
用的时候需要
for(int i=0;i<5;i++)
an[i]=new Animals();
这样你明白了吧
你前面的那个光声明了数组,但是没有调用Animals的构造函数,你数组里的每个元素都是一个对象,使用前必须要先实例化
如果你只是用户输入长度,
Animals [] an=new Animals[n];
声明时是可以用变量的
或者你直接Animals [] an=new Animals[100];定义一个大数组,要用的时候再new Animals();实例化,或者用LinkedList<Animals> an=new LinkedList<Animals>();定义一个动态数组
Ⅳ 在java中,什么叫数组的初始化
数组和对象其实是一样的,分别有引用和物理地址,引用你可以看成指针,当你new Object()表示开辟一个物理地址存储对象的真实数据,Object obj相当于你在内存中开辟一个物理地址存储引用(指针),引用本身没有数据,但是通过Object obj = new Object()相当于把引用和对象数据做了关联,调用引用就等于调用数据的物理地址。new Object()表示数据初始化,Object obj表示引用初始化。
慢慢理解,祝你好运。
Ⅵ java类中构造函数中:数组怎样初始化
1、java构造函数--数组 在构造函数中初始化数组,如 public class array { private int [][] matrix; public array(int r,int c) { matrix=new matrix[r][c]; } }
matrix=new matrix[r][c];
2、这里是new int[][]; java中8个基本数据类型都是有默认值的,int默认值为0 ,
3、所以数组中默认都为0.
4、但是切记有默认值的变量必须是类的属性,方法中局部变量必须赋值才可以使用。
Ⅶ JAVA怎么初始化泛型数组
首先由于Java泛型的实现,不可以使用如下的代码:
public class GenSet<E> {
private E a[];
public GenSet() {
a = new E[INITIAL_ARRAY_LENGTH]; // error: generic array creation
}
}
那么我们如何在保持类型安全的同时实现这一点?
我在Java论坛上看到了这样的解决方案:
import java.lang.reflect.Array;
class Stack<T> {
public Stack(Class<T> clazz, int capacity) {
array = (T[])Array.newInstance(clazz, capacity);
}
private final T[] array;
}
在这里,我们需要讨论"checked" and "unchecked"。
Checked:strong typing。GenSet明确知道它包含的对象类型(即它的构造函数是使用Class <E>参数显式调用的,当方法传递非类型E的参数时,方法将抛出异常。请参阅Collections.checkedCollection。
在这种情况,我们需要这样写:
public class GenSet<E> {
private E[] a;
public GenSet(Class<E> c, int s) {
// Use Array native method to create array
// of a type only known at run time
@SuppressWarnings("unchecked")
final E[] a = (E[]) Array.newInstance(c, s);
this.a = a;
}
E get(int i) {
return a[i];
}
}
Unchecked: weak typing。实际上没有对作为参数传递的任何对象进行类型检查。
在这种情况,我们需要这样写:
public class GenSet<E> {
private Object[] a;
public GenSet(int s) {
a = new Object[s];
}
E get(int i) {
@SuppressWarnings("unchecked")
final E e = (E) a[i];
return e;
}
}
请注意,数组的组件类型应该是类型参数的擦除:
public class GenSet<E extends Foo> { // E has an upper bound of Foo
private Foo[] a; // E erases to Foo, so use Foo[]
public GenSet(int s) {
a = new Foo[s];
}
...
}
所有的这些都源于Java中泛型一个的特性但也是一个weakness:它是使用擦除实现的,因此除非实施一些显式机制(type-checking),否则“泛型”类不知道它们在运行时创建的类型参数,故无法提供 type-safety。
Ⅷ Java数组创建和初始化
有什么问题?
创建数组
String[]
a
=
new
String[3];
String[]
a
=
new
String[]{"a","b"};
就是象定义变量那个..只是在类形后面加个[]初始化
第一种.写法.如果是数值形.默认值是0;如果是字符串.或者对象类型就是NULL;
第二种.写法.创建时直接初始化.
要注意..第一种写法的3就是数据长度那里.如果你没有给数组元素赋值的化必须有.如果象第二种.有赋值的话就可以把3省掉.
Ⅸ java数组的初始化
一维数组
1)
int[] a; //声明,没有初始化
2)
int[] a=new int[5]; //初始化为默认值,int型为0
3)
int[] a={1,2,3,4,5};
//初始化为给定值
4)
int[] a=new int[]{1,2,3,4,5}; //同(3)
int[] a=new int[5]{1,2,3,4,5};
//错误,如果提供了数组初始化操作,则不能定义维表达式
5)
int[] a;
a=new int[5]; //正确,同(2)一样
int[] a;
a={1,2,3,4,5}; //错误数组常量只能在初始化操作中使用,如(3)
6) int a[];
a[0]=1;
//错误,因为数组没有初始化,不能赋值a[1]=2; 二维数组
1)
int[][] a;
//声明,没有初始化
2) int[][] a=new int[2][3];
//初始化为默认值,int型为0
3)
int[][] a={{1,2},{2,3},{3,4}};
//初始化为给定值
int[][] a={{1,2},{2,3},{3,4,5}};
//没有错,数组空间不是连续分配的,所以不要求每一维的大小相同
4)
int[][] a=new int[2][];
a[0]=new int[3];
//a[0]其实就是一个数组a[1]=new int[4];
//每一维的大小可以不一样
;
5)
int[][] a=new
int[][]{{1,2},{2,3},{3,4,5}};
//同(3)
Ⅹ java数组初始化
第一题选B,第二题选A、B和D;
java初始化数组的几种方法:
int a[]; //声明未初始化
a = new int [10]; // 定义占用空间大小(10个int)
int a[] = new int [10]; //声明并定义大小(即分配了指定大小的空间)
int a[] = {1,2,3}; // 声明并初始化,占用空间大小是3个int。