【JAVA基础回顾】java主程序入口里的(String [] args)到底是什么?

我在刚学习Java时,老师是要求记住java程序的程序入口的固定写法:

public static void main(String[] args){
   执行代码;
}

当时一直困惑String[] args是什么东西?

现在我大概学习了下java的基础语法,回过头来看下当时遗留的这个问题。

String[] args

学习了java基础语法后,你可以很好的理解出,这代表一个字符串数组类型,args为字符串数组名

我跑了以下代码:

public static void main(String[] args) {
		args[0]="a";
		args[1]="b";
		for(String i:args){
		System.out.print(i);

	}

程序抛出异常如下:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0

ArrayIndexOutOfBoundsException

数组小标越界

但是很奇怪的是,JAVA数组在定义的时候是必须要进行初始化数组长度,而我们的有参方法是这样的完全不符合java语法规范

 main(String[] args)

接下来我跑了以下代码:

public static void main(String[] args) {
	int a = args.length;
	
System.out.print(a);
}

是的,既然报错了,我就想看下这个数组的长度是多少的,以下为结果:

0

啥东西要也没有,原来这是一个虚拟数组,它相当于是一个容器,需要用户向里面传入参数,同时实现与用户的一个交互;

当我们传参进去后,我们就可以用我们熟悉的遍历方式来输出了;

以上是我理解的,欢迎大家共同交流!






  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值