大数据必学Java基础(二十七):详述main方法和了解可变参数

举报
Lansonli 发表于 2022/07/21 07:33:16 2022/07/21
【摘要】 详述main方法一、main方法说明程序的入口,在同一个类中,如果有多个方法,那么虚拟机就会识别main方法,从这个方法作为程序的入口二、main方法格式严格要求格式:public static void main(String[] args){}说明:public static --->修饰符 ,暂时这样理解 -->面向对象详细说明void --->代表方法没有返回值 对应的类型voidm...

详述main方法

一、main方法说明

程序的入口,在同一个类中,如果有多个方法,那么虚拟机就会识别main方法,从这个方法作为程序的入口

二、main方法格式严格要求

格式:public static void main(String[] args){}

说明:

public static --->修饰符 ,暂时这样理解 -->面向对象详细说明

void --->代表方法没有返回值 对应的类型void

main --->见名知意名字

String[] args --->形参

三、问题:程序中是否可以有其他的方法也叫main方法?

可以,构成了方法的重载

public class TestArray10{
    public static void main(String[] args){
                
        }
        public static void main(String str){
                
        }
}


四、形参为String[] 那么实参到底是什么?

public class TestArray10{
    public static void main(String[] args){
                //从侧面验证:
                //int[] arr1; //如果对数组只声明,没有后续操作,那么相当于 白定义了。
                //int[] arr2 = null; 
                //System.out.println(arr2.length);//Exception in thread "main" java.lang.NullPointerException
                //int[] arr3 = new int[0];
                //System.out.println(arr3.length);
                //int[] arr4 = new int[4];
                //System.out.println(arr4.length);
                
                //System.out.println(args.length);//0
                //从这个结果证明,参数是String[],实参是  new String[0] 
                //默认情况下,虚拟机在调用main方法的时候就是传入了一个长度为0的数组
                
                System.out.println(args.length);
                for(String str:args){
                        System.out.println(str);
                }
        }
}


手动传入实参:

有特殊符号的时候可以加上“”

没有特殊符号用空格隔开即可

五、可变参数

public class TestArray12{
        /*
        1.可变参数:作用提供了一个方法,参数的个数是可变的 ,解决了部分方法的重载问题
        int...num
        double...num
        boolean...num
        
        
        2.可变参数在JDK1.5之后加入的新特性
        3.方法的内部对可变参数的处理跟数组是一样
        4.可变参数和其他数据一起作为形参的时候,可变参数一定要放在最后
        5.我们自己在写代码的时候,建议不要使用可变参数。
        */
    public static void main(String[] args){
                //method01(10);
                //method01();
                //method01(20,30,40);
                method01(30,40,50,60,70);
                //method01(new int[]{11,22,33,44});
        }
        public static void method01(int num2,int...num){
                System.out.println("-----1");
                for(int i:num){
                        System.out.print(i+"\t");
                }
                System.out.println();
                
                System.out.println(num2);
        }
}


【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。