日期:2014-05-20  浏览次数:20677 次

一段小代码帮忙解释一下
public   class   Test{
int   []   x=new   int[3];
public   Test(){
x[1]=31;
x[2]=42;
}
{
String   s= "welcom! ";
System.out.println(s);
x[1]=3;
x[2]=3;
x[0]=5;}
void   print(){
for(int   d:x)
System.out.println(d);
}
public   static   void   main(String   args   []   ){
Test   test=   new   Test();
test.print();
}
}
在类中两个大括号是怎么运行的
为什么结果是感觉和构造函数一样

------解决方案--------------------
> > > 为什么结果是感觉和构造函数一样
对,它的作用类似域构造函数,但是在所有的构造函数之前执行。在类的属性变量初始化之后执行
------解决方案--------------------
楼上正解
------解决方案--------------------
板凳,
累啊,
帮顶, "gejixin() "
------解决方案--------------------
实例化块/在构造函数之前运行.在静态实例化块之后运行
------解决方案--------------------
for(int d:x)是啥语法啊?
------解决方案--------------------
for(int d:x)是啥语法啊? 同问
------解决方案--------------------
同问
------解决方案--------------------
帮顶,分分
------解决方案--------------------
for(int d:x)是jdk1.5的新特性
5.2.3 foreach与数组
J2SE 5.0新增了foreach的语法,又称强化的for循环(Enhanced for Loop),其应用的对象之一是在数组的依次存取上。foreach语法如下:
for(type element : array) {
  System.out.println(element)...
}
直接以实例的方式来说明会更容易了解这个语法如何使用,在J2SE 5.0之前可以使用以下的方式来依次存取数组中的元素:
int[] arr = {1, 2, 3, 4, 5};
for(int i = 0; i < arr.length; i++)
System.out.println(arr[i]);
在J2SE 5.0中可以使用新的foreach语法,这么写:
int[] arr = {1, 2, 3, 4, 5};
for(int element : arr)
System.out.println(element);
每一次从arr中取出的元素,会自动设定给element,您不用自行判断是否超出了数组的长度,注意element的类型必须与数组元素的元素类型相同。
如果是对象,作法也类似。例如若存取字符串数组,可以编写如下:
String[] names = { "caterpillar ", "momor ", "bush "};
for(String name : names)
System.out.println(name);
那么二维数组呢?基本上要是了解数组本身就是一个对象,自然就会知道如何存取。举个例子:
int[][] arr = {{1, 2, 3},
{4, 5, 6},
{7, 8, 9}};
for(int[] row : arr) {
for(int element : row) {
System.out.println(element);
}
}
style= "font-family:宋体 "> 三维以上的数组使用foreach的方式来存取也可以依此类推。

--摘自《Java JDK5.0 学习笔记》
------解决方案--------------------
学习了