首页编程java编程java命令行参数是什么 java main方法中的命令行参数

java命令行参数是什么 java main方法中的命令行参数

编程之家2023-10-14127次浏览

今天给各位分享java命令行参数是什么的知识,其中也会对java main方法中的命令行参数进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

java命令行参数是什么 java main方法中的命令行参数

Java怎么解析命令行参数

用惯了控制台的java程序之后,最印象深刻的是其的简单与快捷,虽没有图形界面那样吸引人的眼球,但却也足以迷倒众生。那么java命令行参数有哪些呢?跟gkstk小编一起来学习吧!

控制台程序的运行少不了要通过控制台来传递参数,譬如:

Sh代码

java命令行参数是什么 java main方法中的命令行参数

ls-la

这是shell脚本的常用命令,其就是通过后置参数来传递相关信息。UNIX环境为C语言中提供了getopt()这样的函数可以解析后置参数,这个函数是很实用很强大的,但Java就...(我Google了一下,倒没有怎么找出来)。大概是这个功能对Java来说太不足挂齿了吧,但总得有个解决方法才行。

下面就是一个代码实例,用以说明。

java命令行参数是什么 java main方法中的命令行参数

这个实例运行的结果是运行在控制台,并允许可选的输入参数:

Sh代码

java TestOpt-i 89-b-s TestString

那么就会设置几个prarameter的值

Java代码

public class TestOpt{

public static void main(String[] args){

/*

*这里先取默认值,因为不是所有参数都会被用户提供

*/

boolean prarameter1= false;

int prarameter2= 0;

String prarameter3="";

/*

*设置一个offset变量,用来定位相关信息

*/

int optSetting= 0;

for(; optSetting< args.length; optSetting++){

if("-b".equals(args[optSetting])){

prarameter1= true;

} else if("-i".equals(args[optSetting])){

prarameter2= Integer.parseInt(args[++optSetting]);

} else if("-s".equals(args[optSetting])){

prarameter3= args[++optSetting];

}

}

/*

*这里我只是打印出来相关的设置信息,具体的行为肯定是要自己取定义打

*/

System.out.println(prarameter1);

System.out.println(prarameter2);

System.out.println(prarameter3);

}

}

这种类似的方法估计应该有很多吧,但这个应该算是比较轻量级的。当然若参数非常多(同时也得进行验证输入)

Java 的命令行 编译和运行参数 如:-cp 怎么理解

javac

用法:javac<选项><源文件>

其中,可能的选项包括:

-g生成所有调试信息

-g:none不生成任何调试信息

-g:{lines,vars,source}只生成某些调试信息

-nowarn不生成任何警告

-verbose输出有关编译器正在执行的操作的消息

-deprecation输出使用已过时的 API的源位置

-classpath<路径>指定查找用户类文件的位置

-cp<路径>指定查找用户类文件的位置

-sourcepath<路径>指定查找输入源文件的位置

-bootclasspath<路径>覆盖引导类文件的位置

-extdirs<目录>覆盖安装的扩展目录的位置

-endorseddirs<目录>覆盖签名的标准路径的位置

-d<目录>指定存放生成的类文件的位置

使用-d参数,如类中定义了包,则编译时会自动生成包,如:javac-d. helloworld.java

表示在当前目录下编译Helloworld类。.表示当前目录,如helloword中定义有包,则在当前目录下生成包:

-encoding<编码>指定源文件使用的字符编码

-source<版本>提供与指定版本的源兼容性

-target<版本>生成特定 VM版本的类文件

-version版本信息

-help输出标准选项的提要

-X输出非标准选项的提要

-J<标志>直接将<标志>传递给运行时系统

java

用法: java [-选项]类 [参数...]

(执行一个类)

或者 java [-选项]-jar jar文件 [参数...]

(执行一个jar文件)

其中,可能的选项包括:

-client选择"client" VM(ginger547:应该是指Virtual Machine)

-server选择"server" VM

-hotspot与"client" VM同义 [不赞成]

默认情况的VM是client.

-cp<一个文件夹和zip/jar文件组成的类搜索路径>

-classpath<一个文件夹和zip/jar文件组成的类搜索路径>

一个由文件夹,JAR压缩文件,或者ZIP压缩文件组成的用来搜索类的列表

-D<名字>=<值>

设置一个系统属性

-verbose[:class|gc|jni]

使详细输出变的可用

-version打印产品版本然后退出

-version:<值>

只运行指定版本

-showversion打印产品版本后继续

-jre-restrict-search|-jre-no-restrict-search

在版本搜索的时候,包含/排除用户私人的JRE

-?-help打印帮助信息

-X打印非标准选项帮助

-ea[:<包名>...|:<类名>]

-enableassertions[:<包名>...|:<类名>]

使断言可用

-da[:<包名>...|:<类名>]

-disableassertions[:<包名>...|:<类名>]

是断言不可用

-esa|-enablesystemassertions

使系统级断言可用

-dsa|-disablesystemassertions

使系统级断言不可用

-agentlib:<库名>[=<选项>]

加载本地代理库<库名>,例如.-agentlib:hprof

同时可查看,-agentlib:jdwp=help和-agentlib:hprof=help

-agentpath:<路径名>[=<选项>]

通过全路径名来加载本地代理库

-javaagent:<jar路径>[=<选项>]

加载Java编程语言代理,可查看 java.lang.instrument

java main方法中的命令行参数

作用:

当你使用命令行的形式运行.class文件时,向你的类传递参数.

C:\>java YourClassName参数1 [参数2参数3....]

参数之间用一个空格作为间隔符.

String[] args这个字符串数组是保存运行main函数时输入的参数的,例如main函数所在的类名为test那么你在cmd运行 java test a b c时,args[0]= a,args[1]=b, args[2]=c你就可以在你的程序中调用你输入的这些变量了。

args[]不就是那个字符串This is a simple Java program吗?

-------完全不是的,你理解不对。这样好了,你在运行的时候加个参数,比如 java test XX。然后在你的main函数里面加这段话:System.out.println("arg is"+args[0]),然后看看输出是什么?

是不是这个:

This is a simple Java program

arg is XX

在运行时输入java test xx yy zz,并且在你的main函数里面加这段话:System.out.println("arg is"+args[0]+""+args[1]+""+args[2]),然后看看输出是什么?

是不是:

This is a simple Java program

arg is xx yy zz

现在你理解了吗。。。

如果没关系,为什么程序中去掉String args[]会出现错误?

--------之所以去掉会出错在于,不带String args[]的main函数和带String args[]的main函数,本质上已经不是同一个函数了,java本身不存在不带String args[]的main函数,所以当然出错了。

java 中 如何通过命令行来传递参数

可以在命令行运行java程序时加上程序的参数。

例子如下:

public class HelloWorld{

public static void main(String args[]){

System.out.println("temp="+ args[0]);

}

}

源代码截图:

命令行中截图:

解释一下: String[ ] args

该参数,是一个字符串数组,用来接收从命令行输入的参数

1.参数之间用空格隔开

2. java解释器会自动处理,把用空格隔开的每一个参数通过args数组传递给买呢()方法。

3.参数的下标从0开始,args[0]表示第一个参数,例如java HelloWorld 10 20 30

4.可以有多个空格,多个空格会被忽略。

扩展资料:

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。

参考资料:百度百科-网页链接

文章到此结束,如果本次分享的java命令行参数是什么和java main方法中的命令行参数的问题解决了您的问题,那么我们由衷的感到高兴!

在java中 怎么表示什么意思 java中的“~”这个符号是表示什么意思啊吹蒲公英(吹蒲公英的文案)