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

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

Jan 19, 2019 am 10:46 AM

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 までご連絡ください。

ホット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 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

エンティティクラス変数名をエレガントに取得して、データベースクエリ条件を構築する方法は? エンティティクラス変数名をエレガントに取得して、データベースクエリ条件を構築する方法は? Apr 19, 2025 pm 11:42 PM

データベース操作にMyBatis-Plusまたはその他のORMフレームワークを使用する場合、エンティティクラスの属性名に基づいてクエリ条件を構築する必要があることがよくあります。あなたが毎回手動で...

Intellijのアイデアは、ログを出力せずにSpring Bootプロジェクトのポート番号をどのように識別しますか? Intellijのアイデアは、ログを出力せずにSpring Bootプロジェクトのポート番号をどのように識別しますか? Apr 19, 2025 pm 11:45 PM

intellijideaultimatiateバージョンを使用してスプリングを開始します...

MapsTructを使用したシステムドッキングのフィールドマッピングの問題を簡素化する方法は? MapsTructを使用したシステムドッキングのフィールドマッピングの問題を簡素化する方法は? Apr 19, 2025 pm 06:21 PM

システムドッキングでのフィールドマッピング処理は、システムドッキングを実行する際に難しい問題に遭遇することがよくあります。システムのインターフェイスフィールドを効果的にマッピングする方法A ...

会社のセキュリティソフトウェアはアプリケーションの実行に失敗していますか?それをトラブルシューティングと解決する方法は? 会社のセキュリティソフトウェアはアプリケーションの実行に失敗していますか?それをトラブルシューティングと解決する方法は? Apr 19, 2025 pm 04:51 PM

一部のアプリケーションが適切に機能しないようにする会社のセキュリティソフトウェアのトラブルシューティングとソリューション。多くの企業は、内部ネットワークセキュリティを確保するためにセキュリティソフトウェアを展開します。 ...

ARM上のJavaプログラムとX86アーキテクチャCPUのメモリリークの違いは何ですか? ARM上のJavaプログラムとX86アーキテクチャCPUのメモリリークの違いは何ですか? Apr 19, 2025 pm 11:18 PM

さまざまなアーキテクチャCPUでのJavaプログラムのメモリリーク現象の分析。この記事では、JavaプログラムがARMおよびX86アーキテクチャCPUでさまざまなメモリ動作を示すケースについて説明します...

Javaオブジェクトを配列に安全に変換する方法は? Javaオブジェクトを配列に安全に変換する方法は? Apr 19, 2025 pm 11:33 PM

Javaオブジェクトと配列の変換:リスクの詳細な議論と鋳造タイプ変換の正しい方法多くのJava初心者は、オブジェクトのアレイへの変換に遭遇します...

名前を数字に変換してグループ内でソートを実装する方法は? 名前を数字に変換してグループ内でソートを実装する方法は? Apr 19, 2025 pm 01:57 PM

名前を数字に変換してグループ内でソートを実装する方法は?ユーザーをグループでソートする場合、ユーザーの名前を数字に変換して、異なる可能性があることがよくあります...

名前を数値に変換してソートを実装し、グループの一貫性を維持するにはどうすればよいですか? 名前を数値に変換してソートを実装し、グループの一貫性を維持するにはどうすればよいですか? Apr 19, 2025 pm 11:30 PM

多くのアプリケーションシナリオでソートを実装するために名前を数値に変換するソリューションでは、ユーザーはグループ、特に1つでソートする必要がある場合があります...

See all articles