文档章节

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

Bony
 Bony
发布于 2016/05/14 16:19
字数 513
阅读 51
收藏 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
粉丝 13
博文 154
码字总数 98659
作品 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
[C#学习笔记3]关于Main(string[ ] args)中args命令行参数

Main(string[] args)方法是C#程序的入口,程序从这里开始执行,在这里结束。C#代码逻辑要包含在一个类型(Type)中,游离的、全局的变量或函数是不存在的,这里的类型包括类(class)、接口(...

wangmengdx
11/06
0
0
Java 编程开发Agent调试教程

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

qq_26761587的博客
2017/12/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

安秒平衡

相关介绍 电容两端的电压不能突变。 一般用在平衡条件下的开关电路中。 流经电容的电流平均值在一个开关周期内为零。 定义 安秒平衡原则:在稳态工作的开关电源中电容两端的正安秒值等于负安...

colinux
今天
2
0
Apache日志不记录访问静态文件,访问日志切割,静态元素过期时间设置

Apache配置不记录访问静态文件的日志 网站大多元素为静态文件,如图片、css、js等,这些元素可以不用记录 vhost原始配置 <VirtualHost *:80> ServerAdmin test@163.com DocumentRoo...

野雪球
今天
3
0
聊聊storm的ICommitterTridentSpout

序 本文主要研究一下storm的ICommitterTridentSpout ICommitterTridentSpout storm-core-1.2.2-sources.jar!/org/apache/storm/trident/spout/ICommitterTridentSpout.java public interface......

go4it
今天
4
0
Ubuntu常用操作

查看端口号 netstat -anp |grep 端口号 查看已使用端口情况 netstat -nultp(此处不用加端口号) netstat -anp |grep 82查看82端口的使用情况 查找被占用的端口: netstat -tln netstat -tl...

hc321
昨天
3
0
网站cdn的静态资源突然访问变的缓慢,问题排查流程

1.首先我查看了一下是否自己的网络问题,通过对比其他资源的访问速度和下载速度,确认不是 2.通过ping 和 tracert 判断cdn域名能否正常访问,(最后回想感觉这一步可以省略,因为每次最终能访...

小海bug
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部