You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java入门:main方法的String类型参数数组args是否按空格分隔输入

结论

main方法入参String[] args的空格分割逻辑,不是Java实现的,而是你启动Java程序的命令行环境(CMD、PowerShell、Bash等)的默认处理规则。

原理说明

  • 你在命令行执行类似java 你的主类名 one two的命令时,命令行环境会先对整行命令做解析,默认把无引号包裹的空格作为参数分隔符,把整行拆分为多个独立的参数段。
  • 命令行环境会把拆分后除了java指令、主类名之外的参数段,按顺序传递给Java程序的args数组,所以Java拿到数组的时候,one和two已经是两个独立的元素了,遍历自然会分两行输出。
  • 空格本身是普通字符,只是在命令行的默认解析规则里,未被引号包裹的空格会被当做参数分隔符使用。

传入带空格的单个参数的方法

如果需要把包含空格的内容作为args的单个元素,只需要用双引号把对应内容包裹起来即可,比如执行命令:
java 你的主类名 "one two"
此时命令行环境会把引号内的one two识别为单个参数,args数组只会包含一个元素,运行你提供的代码就会直接输出完整的one two。

你测试所用的代码逻辑没有问题:

public static void main(String[] args) {
    for(String e : args) {
        System.out.println(e);
    }
}

内容的提问来源于stack exchange,提问作者Sage

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.15 02:36:04