検索
ホームページJava&#&チュートリアルJavaでコマンドラインパラメータを使用する方法

Java でコマンド ライン パラメータを使用する方法: まず、ターミナル ウィンドウから Java アプリケーションを実行し、次にパラメータをアプリケーションの開始点に渡します。

Javaでコマンドラインパラメータを使用する方法

この記事の動作環境: Windows 7 システム、Dell G3 コンピューター、Java バージョン 8.0。

コマンド ライン パラメーターは、アプリケーションの構成プロパティを指定する方法として使用できます。Java も例外ではありません。オペレーティング システムのアプリケーション アイコンをクリックする代わりに、ターミナル ウィンドウから Java アプリケーションを実行できます。アプリケーション名に加えて、その後に多数のパラメータを続けることができ、これらのパラメータはアプリケーションの開始点 (つまり、Java の場合は main メソッド) に渡されます。

たとえば、NetBeans には、ターミナル ウィンドウから実行するときにアプリケーションに渡すことができる起動パラメータが多数あります (たとえば、-jdkhome は、JDK に関連付けられているバージョン以外の JDK のバージョンを指定します) NetBeans アプリケーションのデフォルト JDK)。

メイン メソッド

メイン メソッドをチェックして、アプリケーションに渡されるパラメーターがどこに表示されるかを確認しましょう:

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

コマンド ライン パラメーターは問題ありません。引数を検索します。という名前の文字列配列内。

たとえば、渡されたコマンド ライン引数を出力することだけが唯一のアクションである 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

上記では、JRE は「java」の後に名前を付けて呼び出されます。呼び出しているプログラム。次に、プログラムのパラメータです。プログラムが受け取ることができる引数の数に制限はありませんが、順序は重要です。 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] は 2 番目の要素 (値2)など。 length() コードは配列の長さを定義します。

コマンド ライン パラメータの受け渡し

NetBeans では、アプリケーションを構築してターミナル ウィンドウから実行しなくても、コマンド ライン パラメータを渡すことができます。コマンド ライン パラメーターを指定するには:

[プロジェクト] ウィンドウで [プロジェクト] フォルダーを右クリックします。

[プロパティ] オプションを選択して、プロジェクトのプロパティ ウィンドウを開きます。

右側のカテゴリリストで、実行を選択します。

表示される [引数] テキスト ボックスで、アプリケーションに渡すコマンド ライン パラメーターを指定します。たとえば、[引数] テキスト ボックスに「Apple Banana キャロット」と入力し、上記の CommandLineArgs プログラムを実行すると、次の出力が得られます。

#
Apple
Banana
Carrot

コマンド ライン引数の解析

# 通常、渡された値をどう処理するかに関する情報を含むコマンド ライン引数が渡されます。アプリケーションにパラメータを通知するパラメータには、通常、名前の前に 1 つまたは 2 つのハイフンが付いています。たとえば、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でコマンドラインパラメータを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
JVMはオペレーティングシステムAPIの違いをどのように処理しますか?JVMはオペレーティングシステムAPIの違いをどのように処理しますか?Apr 27, 2025 am 12:18 AM

JVMは、JavanativeInterface(JNI)およびJava Standard Libraryを介してオペレーティングシステムのAPIの違いを処理します。1。JNIでは、Javaコードがローカルコードを呼び出し、オペレーティングシステムAPIと直接対話できます。 2. Java Standard Libraryは統一されたAPIを提供します。これは、異なるオペレーティングシステムAPIに内部的にマッピングされ、コードがプラットフォーム間で実行されるようにします。

Java 9で導入されたモジュール性は、プラットフォームの独立性にどのように影響しますか?Java 9で導入されたモジュール性は、プラットフォームの独立性にどのように影響しますか?Apr 27, 2025 am 12:15 AM

modularitydoesnotdirectlyectlyectjava'splatformindepensence.java'splatformendepenceismaindainededainededainededaindainedaindained bythejvm、butmodularityinfluencesApplucationStructure andmanagement、間接的なインパクチャプラット形成依存性.1)

ByteCodeとは何ですか?また、Javaのプラットフォームの独立性とどのように関係していますか?ByteCodeとは何ですか?また、Javaのプラットフォームの独立性とどのように関係していますか?Apr 27, 2025 am 12:06 AM

bytecodeinjavaisthe intermediaterepresentationthateNablesplatformindepence.1)javacodeis compiledintobytecodestoredin.classfiles.2)thejvminterpretsorcompilesthisbytecodeintomachinecodeatime、

Javaがプラットフォームに依存しない言語と見なされるのはなぜですか?Javaがプラットフォームに依存しない言語と見なされるのはなぜですか?Apr 27, 2025 am 12:03 AM

javaachievesplatformedenceTheTheTheJavavirtualMachine(JVM)、これは、javacodeisisisisisissompiledIntobytecode.2)javaCodeisisisisissompiledevedevicetecode.2)

グラフィカルユーザーインターフェイス(GUI)は、Javaのプラットフォーム独立性の課題をどのように提示できますか?グラフィカルユーザーインターフェイス(GUI)は、Javaのプラットフォーム独立性の課題をどのように提示できますか?Apr 27, 2025 am 12:02 AM

Javagui開発におけるプラットフォームの独立性は課題に直面していますが、Swing、Javafx、統一外観、パフォーマンス最適化、サードパーティライブラリ、クロスプラットフォームテストを使用することで対処できます。 Javaguiの開発は、クロスプラットフォームの一貫性を提供することを目的としたAWTとSwingに依存していますが、実際の効果はオペレーティングシステムごとに異なります。ソリューションには以下が含まれます。1)SwingおよびJavafxをGUIツールキットとして使用します。 2)uimanager.setlookandfeel()を介して外観を統合します。 3)さまざまなプラットフォームに合わせてパフォーマンスを最適化します。 4)ApachepivotやSWTなどのサードパーティライブラリを使用する。 5)一貫性を確保するために、クロスプラットフォームテストを実施します。

Java開発のどの側面がプラットフォームに依存していますか?Java開発のどの側面がプラットフォームに依存していますか?Apr 26, 2025 am 12:19 AM

javadevelopmentisnotentirelylylypratform-IndopentDuetoseveralfactors.1)jvmvariationsaffectperformanceandbehavioracrossdifferentos.2)nativeLibrariesviajniintroducePlatform-specificissues.3)giaiasystemsdifferbeTioneplateplatifflics.4)

さまざまなプラットフォームでJavaコードを実行するときにパフォーマンスの違いはありますか?なぜ?さまざまなプラットフォームでJavaコードを実行するときにパフォーマンスの違いはありますか?なぜ?Apr 26, 2025 am 12:15 AM

Javaコードは、さまざまなプラットフォームで実行するときにパフォーマンスの違いがあります。 1)JVMの実装と最適化戦略は、OracleJDKやOpenJDKなどとは異なります。 2)メモリ管理やスレッドスケジューリングなどのオペレーティングシステムの特性もパフォーマンスに影響します。 3)適切なJVMを選択し、JVMパラメーターとコード最適化を調整することにより、パフォーマンスを改善できます。

Javaのプラットフォームの独立性の制限は何ですか?Javaのプラットフォームの独立性の制限は何ですか?Apr 26, 2025 am 12:10 AM

java'splatformindepentedencehaslimitationsincludingporformanceoverhead、versioncompatibulisisues、changleSwithnativeLibraryIntegration、プラットフォーム固有の機能、およびjvminStallation/maintenation。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。