A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

public class a{
String[] a = new String[3];
a[0] = “abc”;
}

为什么都是赋值,像基本数据的类型直接赋值就行了,而数组赋值要写在方法里面呢?

7 个回复

倒序浏览
可以啊。 abc这个字符串外面的双引号应该是英文的,你写的是中文的。
回复 使用道具 举报
可以的,但是需要在赋值语句前面加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. }
复制代码
回复 使用道具 举报
这个也可以直接赋值啊。你可以拿到外边试下。只要你定义了数组。
回复 使用道具 举报
成员变量不能那样赋值的,
public class a{
{String[] a = new String[3];
a[0] = “abc”;}
}
用大括号包起来也行
回复 使用道具 举报
可以在定义的时候进行初始化赋值 例如int[] a=new int[10];
但是不可以单独执行赋值语句  例如:int[] a; a=new int[10];
看起来这两句没什么差别,但是差别还是很明显的,
第一种情况那是定义一个数组变量,同时赋初始值,
变量的定义与赋值同时进行,第二种情况是先定义了一个变量,
然后再给它赋值,这里是先定义后赋值。之所以第二种情况会报错,
是因为java的类定义里面,只能有变量定义、方法定义,
不能够单独执行语句体。你要执行语句的话,
就必须把要执行的语句放到方法里面去执行.希望能帮到你。
回复 使用道具 举报
李斌 中级黑马 2012-4-17 11:31:56
7#
例如你在main方法里面那么赋值就不会出问题。
不光是赋值语句,其他任何算术运算语句,方法调用语句都不能在类的定义体里面运行的。
回复 使用道具 举报
aied31 注册黑马 2012-4-17 17:44:43
8#
当然可以
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马