Javaのコマンドライン引数でint型を扱う方法

結論

結論からいうとJavaのコマンドライン引数ではString型しか受け取れません。よってString型で受け取ったコマンドライン引数をプログラム内でint型に変換して扱うことになるかと思います。

実際のプログラムを書いて解説していきます。実行環境は以下の通りです。

  • MacOS Catalina 10.15.7
  • JavaSE8 ビルド1.8.0_251-b08

簡単なプログラムで確認する

class Sample {
    public static void main(String[] args) {
        int num1 = Integer.parseInt(args[0]);
        int num2 = Integer.parseInt(args[1]);

        System.out.println("num1 = " + num1);
        System.out.println("num2 = " + num2);
    }
}

Sample.javaを作成し上記のようなプログラムを作成しました。コマンドライン引数を二つ受け取りInteger.pparseIntメソッドを使うことでString型の値をint型に変換しています。そして変換した値をそれぞれnum1, num2に代入し、printlnを使って出力しています。

 

実行してみる

先ほど作ったプログラムを実行してみます。まずはコンパイルします。

javac Sample.java

コンパイルエラーが出なければOKです。そのまま実行のコマンドを入力します。

java Sample 57 89

上記のようなコマンドライン引数を渡した場合の実行結果は以下の通りです。

num1 = 57
num2 = 89

まとめ

Javaのコマンドライン引数でintがたの値を渡したい場合はString型の値をInteger.parseIntメソッドを使ってint型に直す必要があります。

Javaのおすすめ入門書

私はプログラミング学習はUdemyで行うのが以下のような理由で圧倒的におすすめです。

    • 動画で好きなときに学べる
    • 一流のエンジニアから教えてもらえる
    • 好きな技術を体系的に学べる
    • 実際に手を動かしながら学ぶことができる
    • セール時であれば1500円〜2000円ほどで購入できる(大半の技術書より安い)
    • 講座自体がアップデートされていくので情報が古くなりにくい

UdemyにはJavaの基礎講座 もあるので興味がある方は一度チェックしてみてください!

また無料でJavaが学べるスクールもあります!説明会も行っているので、一度参加してJavaを学んでみるのもオススメです!

コメント

タイトルとURLをコピーしました