大数据必学Java基础(二十七):详述main方法和了解可变参数
【摘要】 详述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);
}
}
}
手动传入实参:
有特殊符号的时候可以加上“”
![](https://ask.qcloudimg.com/http-save/1159019/0ee327928e52410d118c7a5da3ec7c20.png?imageView2/2/w/1620)
没有特殊符号用空格隔开即可
![](https://ask.qcloudimg.com/http-save/1159019/073b5ab55894bb1aba45c29473e44117.png?imageView2/2/w/1620)
五、可变参数
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);
}
}
![](https://ask.qcloudimg.com/http-save/1159019/adaafd6cf3475acbdafc877eb56ea068.png?imageView2/2/w/1620)
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)