黑马程序员技术交流社区

标题: JAVA. 我想这样就赋值上去,为什么不可以呢? [打印本页]

作者: 张超超    时间: 2012-4-17 10:08
标题: JAVA. 我想这样就赋值上去,为什么不可以呢?
public class a{
String[] a = new String[3];
a[0] = “abc”;
}

为什么都是赋值,像基本数据的类型直接赋值就行了,而数组赋值要写在方法里面呢?
作者: 王硕'    时间: 2012-4-17 10:38
可以啊。 abc这个字符串外面的双引号应该是英文的,你写的是中文的。
作者: 王永旺    时间: 2012-4-17 10:41
可以的,但是需要在赋值语句前面加static
例:
  1. public class Demo{
  2.          static String[] a  = {"123","12f"};

  3.         public static void main(String[] args){
  4.                 System.out.println(a[0]);
  5.         }
  6.        
  7. }
复制代码

作者: 黑马—王宁    时间: 2012-4-17 10:42
这个也可以直接赋值啊。你可以拿到外边试下。只要你定义了数组。
作者: 程旦    时间: 2012-4-17 10:51
成员变量不能那样赋值的,
public class a{
{String[] a = new String[3];
a[0] = “abc”;}
}
用大括号包起来也行
作者: 李斌    时间: 2012-4-17 11:30
可以在定义的时候进行初始化赋值 例如int[] a=new int[10];
但是不可以单独执行赋值语句  例如:int[] a; a=new int[10];
看起来这两句没什么差别,但是差别还是很明显的,
第一种情况那是定义一个数组变量,同时赋初始值,
变量的定义与赋值同时进行,第二种情况是先定义了一个变量,
然后再给它赋值,这里是先定义后赋值。之所以第二种情况会报错,
是因为java的类定义里面,只能有变量定义、方法定义,
不能够单独执行语句体。你要执行语句的话,
就必须把要执行的语句放到方法里面去执行.希望能帮到你。
作者: 李斌    时间: 2012-4-17 11:31
例如你在main方法里面那么赋值就不会出问题。
不光是赋值语句,其他任何算术运算语句,方法调用语句都不能在类的定义体里面运行的。
作者: aied31    时间: 2012-4-17 17:44
当然可以




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2