Lanson

V1

2022/11/11阅读:18主题:丘比特忙

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

详述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);
        }
}

分类:

后端

标签:

Java

作者介绍

Lanson
V1

CSDN大数据领域博客专家