读书人

【新手学java】关于方法的可变参数和f

发布时间: 2012-04-12 15:46:35 作者: rapoo

【新手学java】关于方法的可变参数和forecah的用法
直接上代码,

Java code
//newDemo1.java//关于方法可变参数和数组输出方法foreach的练习public class newDemo1{    public static void main(String args[])    {        System.out.print("不传递阐述(fun()):");        fun();        System.out.print("\n传递1个参数(fun(1)):");        fun(1);        System.out.print("\n传递5个参数(fun(1,2,3,4,5)):");        fun(1,2,3,4,5);        useForEach();    }            public static void fun(int...arg)   //这里为什么定义为int...arg[]之后,编译出错误!    {        for(int i:arg)                    //使用foreach输出            System.out.print(i+" ");    }/*        public static void fun(int...arg)   //没有定义为数组,为什么下面还能有arg[i]    {        for(int i=0;i<arg.length;i++)     //不使用foreach输出            System.out.print(arg[i]+" ");    }*/        public static void useForEach()    {        int x[]={1,2,3,4,5,6,7,8,9};      //如果上面正确的话,这儿应该作何解释?        System.out.println("\n参照");            for(int i:x)            System.out.print(i+" ");    }}


[解决办法]
这里为什么定义为int...arg[]之后,编译出错误!

参数中int...arg就表示一个1维数组,不能通过这种方式定义二维数组
[解决办法]
arg本身就是数组,所以不需要写[],也能直接用arg[i]

int x[]={1,2,3,4,5,6,7,8,9};
只是 int[] x = {1,2,3,4,5,6,7,8,9}; 的一种变通写法

只有在声明的时候能这样变通

读书人网 >J2SE开发

热点推荐