文档章节

mian方法中的String[] args,命令行运行参数的传入

Bony
 Bony
发布于 2016/05/14 16:19
字数 513
阅读 20
收藏 0
点赞 2
评论 0

String[] args是main函数的形式参数,可以用来获取命令行用户输入进去的参数。java 本身不存在不带String args[]的main函数,java程序中去掉String args[]会出现错误。

String[] args其实就是定义一个main方法的传入参数,参数的类型必须为String[],args是参数名称,名称不限.

我们编写如下代码,main里面的String改个名称为pig(不要笑~~),然后 System.out.println(pig[0])这句代码去打印pig这个队列中的第2个值,关于队列的使用以后会讲到,这里不深究, 运行来看看结果吧

class HelloWorld{
    public static void main(String[] pig){
        System.out.println("Hello World!!!");
        System.out.println(pig[1]);
    }
}

看错误提示,java.lang.ArrayIndexOutOfBoundsException:1 at HelloWorld.mian(HelloWorld.java:4),根据这个提示我们可以判断为这是一个数组越界的提示,并且还给定位到了第四行,pig[0]越界了,看看我们怎么执行的,原因会不会是没有传值导致的。再来传值运行一下

这一次是运行成功的,再试试改为以下代码,pig.length是获取到pig数组中元素的数量,java中的打印变量可以和字符串用‘+’符号连接起来:

class HelloWorld{
    public static void main(String[] pig){
        System.out.println("Hello World!!!");
        System.out.println("Number Name:"+pig.length);
        System.out.println("Number Name:"+pig[0]);
        System.out.println("Number Name:"+pig[1]);
    }
}

看看结果如代码愿的把数量以及前两元素的值给正确输出了。

让代码跟灵活一点吧,不受限制的去执行,编写如下代码

class HelloWorld{
    public static void main(String[] pig){
        System.out.println("Hello World!!!");
        int pigNumber=pig.length;
        System.out.println("pig Number:"+pigNumber);
        if(pigNumber>0)
        for(int i=0;i<pigNumber;i++)
        System.out.println("Number Name:"+pig[i]);
    }
}

可以看看以下的些运行结果,相比之前算是灵活多了

:完:

© 著作权归作者所有

共有 人打赏支持
Bony
粉丝 11
博文 153
码字总数 98435
作品 0
深圳
QA/测试工程师
[转]java.lang.instrument 学习(一)

转自:http://jiangbo.me/blog/2012/02/21/java-lang-instrument/ Instrumentation介绍: java Instrumentation指的是可以用独立于应用程序之外的代理(agent)程序来监测和协助运行在JVM上的...

sunyh
2015/12/08
52
0
JAVA 命令行运行

说到Java命令行运行,我们就不得不谈到String[] args, 我在JAVA网络编程这篇文章中的例程,已经演示了如何利用String[] args的值传到程序里面。那么关于Java命令行运行的指令到底是什么样的...

牧师-Panda
2016/09/10
74
3
Instrumentation介绍学习

Instrumentation介绍 Java Instrumentation指的是可以用独立于应用程序之外的代理(agent)程序来监测和协助运行在JVM上的应用程序。这种监测和协助包括但不限于获取JVM运行时状态,替换和修...

beibugulf
2016/10/21
6
0
命令行运行Python脚本时传入参数的三种方式

三种常用的方式 如果在运行python脚本时需要传入一些参数,例如与,可以使用如下三种方式。 python script.py 0,1,2 10 python script.py -gpus=0,1,2 --batch-size=10 python script.py -g...

yzy121403725
06/27
0
0
Java 编程开发Agent调试教程

最近在学习Java Agent,记录一下如何调试。 一、写一个Agent 1、编写一个Java类,并包含如下两个方法中的任一个: public static void premain(String agentArgs, Instrumentation inst); //...

qq_26761587的博客
2017/12/16
0
0
scala脚本编写1(从文件里读取数据)

创建文件 a.scala,内容如下: import scala.io.Source object Sample {def widthOfLength(s: String) = s.length.toString.length def main(args: Array[String]) { if (args.length > 0) {......

月下独酌100
2015/10/29
0
0
python自学argparse模块

argparse模块 argparse是python用于解析命令行参数和选项的标准模块,用于代替已经过时的optparse模块 使用步骤 import argparse # 导入模块,这个没什么说的 parser = argparse.ArgumentPa...

骑士救兵
2017/12/15
0
0
MessageDigest数字签名,加密

Java Cryptography Architecture,Java加密架构,java平台中用于访问和开发加密功能的框架。 MessageDigest 类 MessageDigest 类是一个引擎类,它是为了提供诸如 SHA1 或 MD5 等密码上安全的...

zh151832
2016/04/15
49
0
Deep Learning学习笔记(六)详解tf.app.flags()和tf.app.run()的源码

经常在程序中看到有和字样的代码,这两段代码究竟是什么作用,就让我们从分析源码的角度来加深理解! tf.app.flags tf.app.flags主要用于处理命令行参数的解析工作,其实可以理解为一个封装好...

DDM_dl
2017/12/12
0
0
C#程序处理命令行参数

C#程序通过主函数的args参数接收命令行参数:static void Main(string[] args) 如果一个程序接收到的命令行参数非常多,那手工读取命令行参数无疑是件痛苦的事情。 为此我找到了一篇codepro...

北风其凉
2016/08/17
35
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

CDH的坑之Sqoop导出数据到MySQL

CDH的坑之Sqoop导出数据到MySQL 最近使用Sqoop从Hive导出数据到MySQL中,出现了一系列的问题,下面将这个问题记录一下,避免再度踩坑! 导出语句 sqoop export --connect jdbc:mysql://192....

星汉
6分钟前
0
0
Hyperledger Fabric 客户端开发三

前面两篇文章介绍了Hyperledger Fabric SDK并使用一个实例介绍如何通过SDK和Hyperledger Fabric Blockchain交互, 现在详细分析相关的过程。 首先看 enroll (登录) admin 过程。 'use stric...

十一月不远
7分钟前
0
0
PowerDesigner连接MySQL和逆向工程图

最近想梳理公司项目的表间关系,从项目后台管理系统的操作入手,以及代码的hibernate注解入手,都不算特别尽人意,于是最后还是鼓捣了一下PowerDesigner的逆向工程图,这样更直观一些。 想着...

Oo若离oO
7分钟前
0
0
威胁web应用安全的错误

一般绝大部分的web应用攻击都是没特定目标的大范围漏洞扫描,只有少数攻击确实是为入侵特定目标而进行的针对性尝试。这两种攻击都非常频繁,难以准确检测出来,许多网站的web应用防火墙都无法...

上树的熊
10分钟前
2
0
pypy2 install crypto error

install pycryptodome instead pip install pycryptodome

coord
14分钟前
0
0
Service Mesh所应对的8项挑战

Lori Macvittie 微服务架构是把双刃剑,我们享受它带来的开发速度(development velocity),却也不得不面对服务间通讯带来的复杂性问题。 目前大多数扩展容器化微服务的架构多是基于proxy-b...

好雨云帮
23分钟前
0
0
时间复杂度

1. 维基上的定义 在计算机科学中,算法的时间复杂度是一个函数,它定性描述该算法的运行时间。这是一个代表算法输入值的字符串的长度的函数。时间复杂度常用大O符号表述,不包括这个函数的低...

liuyan_lc
29分钟前
0
0
js中的~符

~是js里的按位取反操作符,~~就是执行两次按位取反,其实就是保持原值,但是注意虽然是原值,但是对布尔型变量执行这个操作,会转化成相应的数值型变量,也就是 ~~true === 1,~~false === 0...

JamesView
30分钟前
0
0
webpack安装

npm install --save-dev webpack-cli

Vincent-Duan
32分钟前
0
0
实时监听EditText内容变化

主要是addTextChangedListener方法的使用 aswerEdittext.addTextChangedListener(new TextWatcher() { //编辑框的内容发生改变之前的回调方法 @Override public void before...

王先森oO
35分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部