java中数组的赋值不能在方法外进行么?

如:
public class Test
{
int[] a=new int[5];
a[0]=6;
a[1]=5;
a[2]=6;
a[3]=5;
a[4]=6;
public void show()
{

}
}
数组的赋值会报错,但如果讲赋值语句写在show方法中就不会报错这是为什么呀?!

可以在方法外赋值,用static{}将赋值语句包起来就可以了
要知道java在运行时会查找static关键字,并且将之内容优先加载,就等同于将你的数组进行了初始化并赋值,可以算作是java对特殊的对象(Map,List,Array等)进行赋值额一种方式吧
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-07-11
赋值等执行语句要写在方法里,不能直接写在类里。
用static{}静态代码块也只能对静态变量操作。
第2个回答  2013-07-11
你可以这样写int[]a=new int[6,5,6,5,6]就可以了追问

谢谢,但是如果数组元素非常多呢,这样写可能就不合适了吧,另外我想知道错在哪?为什么我在方法外赋值就不行呢?

第3个回答  2013-07-11
public static final int[] a = new int{6,5,6,5,6};

第4个回答  2013-07-11
怎么说呢..如果你非要在方法外赋值,那么建议你在类的构造函数中赋值..外面声明一下就好了追问

也就是说不可以赤裸裸的将赋值语句写在外面?

java如何让循环里的值在循环外也可以使用?
对s1进行赋值是无法改变数组中的值 你在末尾对s数组进行输出就可以看到s数组中的值依然是null 对象和对象引用相关的知识你应该去了解一下 然后 两个并列循环的问题 两个循环所要做的操作其实是一样的 只是结束循环的条件不同 并且该条件不具备同时存在的可能 那你可以先将条件确定下来 再进行操作 例如...

java我在循环中定义数组,怎么才可以拿到另一个循中用,数组是被分解出来...
很简单啊 你可以把你的那个数组定义为全局的,要是两个循环在一个方法里面的话,你可以把数组定义在循环的外面,比如在方法的第一行,记得给分啊·

怎样用java定义一个int数组
回答:* 首先java只可以在class中【声明】成员变量,而不能对变量赋值, * 你只能在方法中(例如:main方法或者其他方法)对变量赋值。** 但是class中允许在声明变量的同时,为变量赋【初始值】。 * 也就是说 int[] anArray2 = new int[10]; 这样是允许的 * 这里的 new int[10] 是初始化...

java 这样在一个类中定义一个对象数组为什么会出错
但是,你的主要错误并不只在这里。而是因为在 Java 中,在一个类的方法外只能定义这个类的成员及其他方法,而不能进行任何对这个类成员的操作,包括修改成员。这里你使用 Student[] a = new Student[3];来定义了一个长度为 3 的数组 a 作为 www 类的成员,这是可以的。但是随后你使用 a[0] =...

JAVA里怎么把这个数组赋值给另一个数组
有两种方法 第一种用for循环:int[] x={1,2};int[] y=new int[2];for(int i=0;i<x.length;i++){y[i]=x[i];第二种用java提供的arraycopy int[] x={1,2};int[] y=new int[2];System.arraycopy(x, 0, y, 0, x.length);\/\/变量依次是(原数组,从原数组第几位开始,...

Java数组为什么不能这样赋值。
你可以写成int a[] =new int[2]{1, 2};1.初始化赋值只能跟在new后面。2.如果想要写两行只能数组等于另一个数组。3.第三种就是常见的a[0] = 1;

java中字符串数组如何赋值?
数组初始化时,可以为null,{value1,value2,value3,...},或者赋予另一个数组的值:String[] b = a;常量只能被初始化,一次,不能再次赋值;非常量则可以进行赋值操作,赋值操作只能赋予以下情况:null,另一个数组的值。lz的问题中,a={","}是一个初始化的语法,不是正确的赋值语法。

JAVA中如何对数组进行操作
很简单,因为你的数组是局部变量,只在那个声明它的方法里能用,解决办法是:1. 把它设置为属性;2. 作为方法的返回值。下面分别举个例子:public class A{ public int[] arr = new int[2]; \/\/这里设置为public是方便你理解。一般设置为private,然后提供一个getArr()方法。\/\/赋值 public void...

java数组怎样赋值
在java中,数组的长度是不可变的,你如果需要把b里边的所有值赋给a的话,需要将a重新申明一个>=b的长度的数组来进行存放。或使用集合来存放数据。集合是可以自动调整大小的。

JAVA中的属性、方法、构造器,你真的弄懂了吗?
简单解析一下:因为是对象数组,所有初始值每个默认值都是null,当给people[0]创建对象时,会在堆空间中开辟一个空间用来储存成员变量name、age;对象赋值的过程与对象内存解析的方式一样。运行结果:五、方法使用介绍1、方法的声明:权限修饰符 返回值类型 方法名(形参列表){ 方法体 } 2、返回值类型...

相似回答