大家都知道,JAVA语言运行程序的入口方法叫做main,这个方法有一个参数,这就表示说,我们要运行主方法,就必须给main方法传递一个参数 。但是,大家似乎对这个参数向来都是视而不见,从来都没给主方法传递过参数 。main作为Java程序运行的第一个方法,我们应该从哪里给这个方法传递参数呢?今天我们就用一篇短文来聊聊这个话题 。
如何给main方法传递参数大家请看下面这段代码
文章插图
这是一段谁都能看懂的代码 。通过代码我们可以看到,main方法的参数是一个字符串数组,既然是一个字符串数组,就会包含多个字符串 。那么,我们通过怎样的方法能把多个字符串数组传递给main方法呢?很简单,我们在运行Java程序的时候,在java命令后面写上main方法所在的类名,在类名后面加空格,空格后面再写上多个字符串,每个字符串之间也以空格隔开,就能把这些字符串传递给main方法 。当然,这些字符串会被组织成一个字符串数组传递到main方法当中,见下图
文章插图
我们可以看到,在类名A的后面是一个空格,空格后面有两个字符串,分别是“Hello”和“World”,这两个字符串之间也用空格隔开,它们就是程序员传递给main方法的参数,这两个字符串会被虚拟机组织成一个字符串数组 。main方法中打印参数数组中下标为0那个的元素,所以输出结果就是“Hello”
参数字符串中包含空格如何处理我们给main方法传递参数的时候,各个字符串之间是以空格隔开的,如果某个字符串中本身就包含空格,那么原本是一个整体的字符串就会被分割成两个,此事如何是好?在这种情况下,我们为了让包含空格的字符串被虚拟机当作是一个整体,可以给字符串的两端加上引号,见下图
文章插图
这一次我们给main方法传递了两个字符串作为参数,其中第一个参数是“Hello World”,这个字符串中有一个空格,但是我们在字符串两端加了引号,虚拟机就会把引号当中的空格看作是字符串中的一个普通字符,而不是把它当作分隔字符串的分隔符,所以运行结果就是“Hello World” 。
参数字符串中包含引号如何处理为了让包含空格的字符串被虚拟机当作整体看待,我们把这个字符串的两端加上了空格,但是这又会引发一个问题,那就是:如果参数字符串中又包含引号该怎么办呢?此时我们就需要用转义字符的形式书写参数字符串中的引号,见下图
文章插图
把字符串中的引号以转义字符的形式书写,就能正确的把包含引号的字符串当作参数传递给main方法 。
未传递参数的情况下打印参数数组元素情况如何如果我们没有给main方法传递参数,就直接打印参数数组args当中的元素,会怎么样?很多人认为此时程序运行会抛出空指针异常 。其实不然,虚拟机会创建一个长度为0的字符串数组传递到main方法中,我们访问这个长度为0的数组,抛出的是数组越界异常,而非空指针异常 。不要忘记,Java语言的数组长度是允许为0的哦!
文章插图
看短文,涨姿势,如想系统学习Java编程,点击下方的“了解更多”即可,不让你进去,用QQ登录就可以啦!有问题也可以加入我的QQ群一起讨论!
【Java语言如何给main方法传递参数?看完秒懂】
推荐阅读
- 干货满满!全面详解如何用递归解题
- 如何更换马桶盖缓降轴,马桶盖缓降坏了怎么修
- C语言核心技术-Windows常用命令
- 普通小白如何选择靠谱的小程序免费生成平台?
- 超市装修如何设计
- 法国波尔多红酒如何购买鉴别
- 如何防止浴室玻璃爆炸,浴室玻璃突然自爆是怎么回事
- 茶企如何做大产品销量及做强品牌
- 无线电超短波如何实现有效传播?
- 新入职,如何判断一个公司的好坏?主要评价标准是什么?