java命令行參數,java命令行參數輸出

本文目錄一覽:

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的-D命令行參數

$LOG是系統環境變量 可能是在你的腳本里定義的也可能是全局定義的,你可以用echo $LOG看一下是什麼.這種-DXXXX是java運行參數的語法

作用是配置一些環境變量,具體有哪些參數,參數有什麼效果,和你用的實際環境、項目架構都有關

對,讓程序知道log_path代表什麼,具體程序怎麼用,那是程序的事了

System.getProperty(“propertyName”) 比如你的就是System.getProperty(“log_path”)就可以拿到了

java命令行參數是什麼意思

這個名詞我們可以分開來看:

“命令行”就是:DOC命令行”了,也就是那個黑色的框框。

“參數就”是程序裡面所需要的”參數”了。

合起來”命令行參數”就是“在DOC下輸入的程序所需的參數”。

java 中 用命令行參數接收輸入 如何判斷接收的數據是什麼數據類型

一、在命令行或控制台中接收的數據,都是字符串型,需要強制轉換。

強制轉換時,需做空判斷,如 if(str != null !str.trim().equals(“”)){

int i = Integer.parseInt(str);}

二、其他情況判斷數據類型時,可以用java的反射機制。舉個例子:

import java.util.HashMap;

import java.util.Map;

public class Test {

public static void main(String aaa[]) {

Map m = new HashMap();

String s1 = “String1”;

String s2 = “String2”;

int i1 = 5;

double i2 = 10.5;

m.put(1, s1);

m.put(2, i1);

m.put(3, i2);

m.put(4, s2);

for (int i = 1; i = m.size(); i++) {

Class returnType = m.get(i).getClass();

System.out.println(“return type is of type: “

+ returnType.getSimpleName());

}

}

}

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命令行參數

哥們你看看下面解釋還行嗎?

java命令行的常用參數

2008-09-05 18:38

java -classpath/-cp

虛擬機在運行一個類時,需要將其裝入內存,虛擬機搜索類的方式和順序如下:

Bootstrap classes,Extension classes,User classes。

Bootstrap中的路徑是虛擬機自帶的jar或zip文件,虛擬機首先搜索這些包文件,用System.getProperty(“sun.boot.class.path”)可得到虛擬機搜索的包名。

Extension是位於jre\lib\ext目錄下的jar文件,虛擬機在搜索完Bootstrap後就搜索該目錄下的jar文件。用System. getProperty(“java.ext.dirs”)可得到虛擬機使用Extension搜索路徑。

User classes搜索順序為當前目錄、環境變量 CLASSPATH、-classpath。

-classpath告知虛擬機搜索目錄名、jar文檔名、zip文檔名之間用分號;分隔。

例如當你自己開發了公共類並包裝成一個common.jar包,在使用common.jar中的類時,就需要用-classpath common.jar 告訴虛擬機從common.jar中查找該類,否則虛擬機就會拋出java.lang.NoClassDefFoundError異常,表明未找到類定義。在運行時可用System.getProperty(“java.class.path”)得到虛擬機查找類的路徑。

使用-classpath後虛擬機將不再使用CLASSPATH中的類搜索路徑,如果-classpath和CLASSPATH都沒有設置,則虛擬機使用當前路徑(java.exe所在路徑)作為類搜索路徑。

推薦使用-classpath來定義虛擬機要搜索的類路徑,而不要使用環境變量CLASSPATH的搜索路徑,以減少多個項目同時使用CLASSPATH時存在的在衝突。例如應用1要使用a1.0.jar中的類G,應用2要使用a2.0.jar中的類G,a2.0.jar是a1.0.jar的升級包,當a1.0.jar,a2.0.jar都在CLASSPATH中,虛擬機搜索到第一個包中的類G時就停止搜索,如果應用1應用2的虛擬機都從CLASSPATH中搜索,就會有一個應用得不到正確版本的類G。

java -version

顯示虛擬機版本信息。

java -verbose/-verbosse:class

verbose和verbose:class含義相同,輸出虛擬機裝入的類的信息,顯示的信息格式如下:

[Loaded java.io.FilePermission$1 from shared objects file]

當虛擬機報告類找不到或類衝突時可用此參數來診斷來查看虛擬機從裝入類的情況。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/237605.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 12:06
下一篇 2024-12-12 12:06

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • 三星內存條參數用法介紹

    本文將詳細解釋三星內存條上面的各種參數,讓你更好地了解內存條並選擇適合自己的一款。 一、容量大小 容量大小是內存條最基本的參數,一般以GB為單位表示,常見的有2GB、4GB、8GB…

    編程 2025-04-29
  • Python3定義函數參數類型

    Python是一門動態類型語言,不需要在定義變量時顯示的指定變量類型,但是Python3中提供了函數參數類型的聲明功能,在函數定義時明確定義參數類型。在函數的形參後面加上冒號(:)…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29

發表回復

登錄後才能評論