java数组赋值(急!!!)

发布网友 发布时间:2022-04-20 10:11

我来回答

3个回答

热心网友 时间:2023-08-27 18:09

楼上的说法“首先java只可以在class中【声明】成员变量,而不能对变量赋值,”这个是错误的,实际上
可以在定义的时候进行初始化赋值,例如int[] anArray=new int[10]; 但是不可以单独执行赋值语句,例如:int[] anArray; anArray=new int[10]; 看起来这两句没什么差别,但是差别还是很明显的,第一种情况那是定义一个数组变量,同时赋初始值,变量的定义与赋值同时进行,第二种情况是先定义了一个变量,然后再给它赋值,这里是先定义后赋值。之所以第二种情况会报错,是因为java的类定义里面,只能有变量定义、方法定义,不能够单独执行语句体。你要执行语句的话,就必须把要执行的语句放到方法里面去执行例如你在main方法里面那么赋值就不会出问题。不光是赋值语句,其他任何算术运算语句,方法调用语句都不能在类的定义体里面运行的,你不信可以试试。

热心网友 时间:2023-08-27 18:09

public class TestArray {
int[] anArray = null;
/**
* 这样赋值在java中是不允许的,会判定为语法错误
* 首先java只可以在class中【声明】成员变量,而不能对变量赋值,
* 你只能在方法中(例如:main方法或者其他方法)对变量赋值。
*
* 但是class中允许在声明变量的同时,为变量赋【初始值】。
* 也就是说 int[] anArray2 = new int[10]; 这样是允许的
* 这里的 new int[10] 是初始化操作(不是赋值操作)。
* */
//anArray = new int[10];
static int[] bArray = null;

public void setValue(){
anArray = new int[10];//这里是可以的,方法内可以赋值。
}

public static void main(String[] args){
//anArray = new int[10];
/**
* 这里是不允许的,因为主方法(即main方法)是静态的(由static修饰)
* 所以如果是静态的成员变量可以赋值,例如 bArray
* 下面的两种方式都是可以赋值的
* */
bArray = new int[10];

bArray = new int[]{1,2,2,1,1,1,1,1,1,1};
}
}

热心网友 时间:2023-08-27 18:10

你初始化的时候没有实例化,哥们。。。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com