A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

public static void main(String[] args) {
    System.out.println(args[0]+","+args[1]);
}
这是怎么回事呢,为什么不需要输入函数Scanner,就知道main函数后面的参数是变量名为args的字符串数组,可是main函数的函数体里面也没有提示输入,也没有定义Scanner变量进行接收,为什么可以直接输出,求解答...谢谢!

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 神马都是浮云

查看全部评分

12 个回复

倒序浏览
你没有写的话应该是会报角标越界异常的.
回复 使用道具 举报
肥猫 发表于 2013-8-3 19:22
你没有写的话应该是会报角标越界异常的.

少年,你害人不浅啊,不讲清楚,哎
回复 使用道具 举报
chslzj 发表于 2013-8-3 19:24
少年,你害人不浅啊,不讲清楚,哎

大高手,你替我说清楚呗.
回复 使用道具 举报

通过命令行启动程序,后面添加字符串会被识别为参数,按空格进行分割,被截后存到args数组里面。        
回复 使用道具 举报
建议楼主 百度 “命令行参数”
回复 使用道具 举报
oath 中级黑马 2013-8-3 20:30:59
7#
本帖最后由 oath 于 2013-8-3 20:32 编辑

呵呵,楼主的语言很模糊,你看下我说的可不可以解决你的疑惑
在API中可以查找到:
1、System是java.lang中的一个类,
2、out是System类的静态属性,且out返回的是“static PrintStream”,
3、println是PrintStream类中的一个方法,这个方法可以打印传入的参数。
(System.out)是java.io包中的PrintStream类,它调用了自己的方法println(),实现了输出功能。

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 赞一个!

查看全部评分

回复 使用道具 举报 1 0
肥猫 发表于 2013-8-3 19:26
大高手,你替我说清楚呗.

可惜我不是,我在等你回复呢
回复 使用道具 举报
chslzj 发表于 2013-8-3 21:11
可惜我不是,我在等你回复呢

我也不会啊,怎么办?~~。坐等斑竹小苗大神进来解决。
回复 使用道具 举报
肥猫 发表于 2013-8-3 21:20
我也不会啊,怎么办?~~。坐等斑竹小苗大神进来解决。

擦,坐等有用么,各种@起来啊
回复 使用道具 举报
我理解能力查,没看懂你的问题是在问什么,如果你想问从命令行里运行程序,类名后面加参数,多个参数之间用空格分开,这样执行就可以被主函数接收,会自动用空格分割为字符串数组,这个问题在毕老师和张老师的视频里都有讲过的。参数args的主要作用是为程序使用者在命令行状态下与程序交互提供了一种手段。此外在其他类中直接使用main()函数,并传递参数也是可行的,虽然这种方法不太常用,但毕竟为我们提供了一种选择。具体百度“主函数传值”

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 赞一个!

查看全部评分

回复 使用道具 举报
肥猫 发表于 2013-8-3 21:20
我也不会啊,怎么办?~~。坐等斑竹小苗大神进来解决。

你 丫的肥猫,你捅的篓子让我来解决啊
快点自己想办法解决
回复 使用道具 举报
楼主可以直接试下你那个代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马