0

0

如何在Java中使用命令行参数

藏色散人

藏色散人

发布时间:2019-01-19 10:46:15

|

18042人浏览过

|

来源于php中文网

原创

在Java中使用命令行参数的方法:首先从终端窗口运行Java应用程序;然后将参数传递给应用程序的起始点即可。

如何在Java中使用命令行参数

本文操作环境:Windows7系统、Dell G3电脑、Java8.0版。

命令行参数可以是为应用程序指定配置属性的一种方式,Java也不例外。您可以从终端窗口运行Java应用程序,而不是单击操作系统中的应用程序图标  。除了应用程序名称之外,还可以跟随许多参数,然后将这些参数传递给应用程序的起始点(即,在Java的情况下为main方法)。

例如,NetBeans具有许多启动参数,当从终端窗口运行时,可以将这些参数传递给应用程序(例如,-jdkhome 指定要使用的JDK的版本,而不是与NetBeans应用程序关联的默认JDK)。

main方法

立即学习Java免费学习笔记(深入)”;

让我们检查一下main方法 ,看看传递给应用程序的参数出现在哪里:

public static void main(String[] args)
{
...do something here
}

命令行参数可以在名为的String 数组中找到args。

例如,让我们考虑一个被调用的应用程序,CommandLineArgs其唯一的操作是打印传递给它的命令行参数:

public class CommandLineArgs {
    public static void main(String[] args) {
        //检查字符串数组是否为空
        if (args.length == 0)
        {
            System.out.println("There were no commandline arguments passed!");
        }
        //对于字符串数组中的每个字符串
        //打印出字符串。
        for(String argument: args)
        {
            System.out.println(argument);
        }
    }
}

命令行参数的语法

Java运行时引擎(JRE)期望遵循特定语法传递参数,如下所示:

java ProgramName value1 value2

在上面,“java”调用JRE,后跟您正在调用的程序的名称。接下来是程序的任何参数。程序可以采用的参数数量没有限制,但顺序很重要。JRE按照它们在命令行中出现的顺序传递参数。例如,请考虑以上代码段:

public class CommandLineArgs2 {

    public static void main(String[] args) {
        if (args.length == 0)
        {
            System.out.println("There were no commandline arguments passed!");
        }

当参数传递给Java程序时,args[0]是数组的第一个元素(上面的value1), args[1]是第二个元素(value2),以此类推。length()代码定义了数组的长度。

盛世企业网站管理系统1.1.2
盛世企业网站管理系统1.1.2

免费 盛世企业网站管理系统(SnSee)系统完全免费使用,无任何功能模块使用限制,在使用过程中如遇到相关问题可以去官方论坛参与讨论。开源 系统Web代码完全开源,在您使用过程中可以根据自已实际情况加以调整或修改,完全可以满足您的需求。强大且灵活 独创的多语言功能,可以直接在后台自由设定语言版本,其语言版本不限数量,可根据自已需要进行任意设置;系统各模块可在后台自由设置及开启;强大且适用的后台管理支

下载

通过命令行参数

在NetBeans中,我们可以传递命令行参数,而不必构建应用程序并从终端窗口运行它。要指定命令行参数:

右键单击“项目”窗口中的“项目”文件夹。

选择Properties选项以打开项目属性窗口。

在右边的Categories列表中,选择Run。

在出现的Arguments文本框中,指定要传递给应用程序的命令行参数。例如,如果我们在Arguments文本框中输入Apple Banana Carrot并运行上面列出的CommandLineArgs程序,我们将得到输出:

Apple
Banana
Carrot

解析命令行参数

通常,会传递一个命令行参数,其中包含一些关于如何处理传递的值的信息。通知应用程序参数的参数通常在其名称前有一两个连字符。例如,用于指定JDK路径的启动参数的NetBeans示例是-jdkhome。

这意味着您需要解析命令行参数,以确定如何处理这些值。有几个用于解析命令行参数的Java命令行框架。或者,如果需要传递的参数不多,也可以编写一个简单的命令行解析器:

public class CommandLineArgs {
//命令行参数:
// -打印输出输出它后面的所有参数
//addnumbers在后面添加所有的数字参数
public static void main(String[] args) {
//检查字符串数组是否为空
if (args.length == 0)
{
System.out.println("There were no commandline arguments passed!");
}
else
{
  // 设置一些初始变量
boolean printout = false;
boolean addNumbers = false;
boolean validNumbers = true;
int total = 0;
for(String argument: args)
{
if(argument.equals("-addnumbers"))
{
printout = false;
addNumbers = true;
}
else if (argument.equals("-printout"))
{
printout = true;
addNumbers = false;
}
else if (addNumbers)
{
try {
total = total + Integer.parseInt(argument);
} catch (NumberFormatException e) {
System.out.println("arguments passed with -addnumbers " + "must be integers!");
validNumbers = false;
addNumbers = false;
}
}
else if (printout)
{
System.out.println(argument);
}
}
if (validNumbers)
{
System.out.println("The total of the number arguments is: " + total);
}
}
}
}

上面的代码要么打印参数,要么将它们相加(如果它们是整数)。例如,这个命令行参数将添加数字:

java CommandLineArgs -addnumbers 11 22 33 44

相关文章

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

4

2026.01.16

全民K歌得高分教程大全
全民K歌得高分教程大全

本专题整合了全民K歌得高分技巧汇总,阅读专题下面的文章了解更多详细内容。

3

2026.01.16

C++ 单元测试与代码质量保障
C++ 单元测试与代码质量保障

本专题系统讲解 C++ 在单元测试与代码质量保障方面的实战方法,包括测试驱动开发理念、Google Test/Google Mock 的使用、测试用例设计、边界条件验证、持续集成中的自动化测试流程,以及常见代码质量问题的发现与修复。通过工程化示例,帮助开发者建立 可测试、可维护、高质量的 C++ 项目体系。

10

2026.01.16

java数据库连接教程大全
java数据库连接教程大全

本专题整合了java数据库连接相关教程,阅读专题下面的文章了解更多详细内容。

33

2026.01.15

Java音频处理教程汇总
Java音频处理教程汇总

本专题整合了java音频处理教程大全,阅读专题下面的文章了解更多详细内容。

15

2026.01.15

windows查看wifi密码教程大全
windows查看wifi密码教程大全

本专题整合了windows查看wifi密码教程大全,阅读专题下面的文章了解更多详细内容。

42

2026.01.15

浏览器缓存清理方法汇总
浏览器缓存清理方法汇总

本专题整合了浏览器缓存清理教程汇总,阅读专题下面的文章了解更多详细内容。

7

2026.01.15

ps图片相关教程汇总
ps图片相关教程汇总

本专题整合了ps图片设置相关教程合集,阅读专题下面的文章了解更多详细内容。

9

2026.01.15

ppt一键生成相关合集
ppt一键生成相关合集

本专题整合了ppt一键生成相关教程汇总,阅读专题下面的的文章了解更多详细内容。

6

2026.01.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
进程与SOCKET
进程与SOCKET

共6课时 | 0.3万人学习

成为PHP架构师-自制PHP框架
成为PHP架构师-自制PHP框架

共28课时 | 2.4万人学习

猎豹网MySQL视频教程
猎豹网MySQL视频教程

共33课时 | 8.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号