黑马程序员技术交流社区

标题: main方法是用可变参数 [打印本页]

作者: 施俊    时间: 2012-4-27 09:53
标题: main方法是用可变参数
原来JDK1.5升级了可变参数以后,连主函数都可以是用:
public static void main(String... args)
刚刚发现,那么以后只要参数传数组的是不是都能用可变参数来做?
作者: 周四川    时间: 2012-4-27 09:58
是的,以前老版本的JDK使用数组,升级成新的JDK时基本上都换成了可变参数的形式。
作者: 杨志    时间: 2012-4-27 10:08
是的!比如下面代码:
public class Main{

        public static void main(String[] args){
               
                for(int i = 0 ; i < args.length ; i ++){
                        System.out.println(args[i]);
                }
        }
}
运行过程中:
java Main 1 2 3 4 5
1
2
3
4
5
这就是可变参数的好处!
作者: HeiMaYSL    时间: 2012-4-27 13:45
main函数

主函数的定义:
public: 代表着该函数访问权限是最大的。
static: 代表主函数随着类的加载就已经存在了。
void: 没有具体的返回值
main: 不是关键字,但是,是一个特殊的单词,可以被虚拟机识别。
(String[] args):函数的参数,参数类型是一个数组,该数组中的元素是字符串。字符串类型的数组。
args是arguments (参数)的简称;
虚拟机在调用主函数时,传入的是new String[0]; 就是传入了一个长度为0的字符串数组。

主函数是固定格式的是被虚拟机识别。
主函数的一般格式:
        public  static  void main(String[] args){
               
         }

例子:
想知道主函数中字符串数组args里的值究竟是什么?
class TestMain{
        public  static  void main(String[] args){
                        String[] arr ={"ha","suibain","haode","wode","nide"};    //  随便给上面args 这个数组中初始化了几个值,
                                               //-目的是为了测试出args 到底是个什么东西。
                        Demo.main(arr);  //调用了下面Demo类中的main方法
                }
}


class Demo
{
         //这个方法是为了把args数组里的值遍历出来。也是用主函数个方式写的方法,但是,这个要被上面的调用。所以,还是只有一个主出口。就是上面的main。
        public  static  void main(String[] args){
                for(int x=0; x<args.length;x++)
                        System.out.println(args[x]);
        }

}





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