Bird
Raised Fist0
Javaprogramming~5 mins

Syntax for command line arguments in Java

Choose your learning style10 modes available
Introduction
Command line arguments let you give information to a program when you start it. This helps the program do different things without changing its code.
You want to tell a program which file to open when it starts.
You want to set options like verbose mode or debug mode when running a program.
You want to pass numbers or words to a program to process without typing them inside the code.
You want to run the same program with different inputs quickly from the command line.
Syntax
Java
public class MyProgram {
    public static void main(String[] args) {
        // args is an array of Strings holding command line arguments
    }
}
The main method must be public and static with String[] args parameter.
Each word or group of characters separated by space in the command line becomes one element in args array.
Examples
Prints the first command line argument passed to the program.
Java
public class Hello {
    public static void main(String[] args) {
        System.out.println("First argument: " + args[0]);
    }
}
Prints how many command line arguments were given.
Java
public class CountArgs {
    public static void main(String[] args) {
        System.out.println("Number of arguments: " + args.length);
    }
}
Prints all command line arguments, one per line.
Java
public class PrintAll {
    public static void main(String[] args) {
        for (String arg : args) {
            System.out.println(arg);
        }
    }
}
Sample Program
This program greets the first argument if given, otherwise it greets a stranger.
Java
public class Greet {
    public static void main(String[] args) {
        if (args.length > 0) {
            System.out.println("Hello, " + args[0] + "!");
        } else {
            System.out.println("Hello, stranger!");
        }
    }
}
OutputSuccess
Important Notes
If no arguments are given, args array is empty but never null.
Accessing args elements without checking length can cause errors.
Arguments are always Strings; convert them if you need numbers.
Summary
Command line arguments are passed as a String array to main method.
Use args.length to check how many arguments were given.
Access arguments by index like args[0], args[1], etc.

Practice

(1/5)
1. What is the correct way to declare the main method to accept command line arguments in Java?
easy
A. public void main(String args)
B. public static void main(String[] args)
C. static void main(String args[])
D. public static int main(String[] args)

Solution

  1. Step 1: Understand main method signature

    The main method must be public, static, return void, and accept a String array parameter.
  2. Step 2: Check each option

    public static void main(String[] args) matches the correct signature exactly. Others either miss static, have wrong return type, or wrong parameter type.
  3. Final Answer:

    public static void main(String[] args) -> Option B
  4. Quick Check:

    Main method signature = public static void main(String[] args) [OK]
Hint: Main method always: public static void main(String[] args) [OK]
Common Mistakes:
  • Omitting static keyword
  • Using wrong parameter type
  • Changing return type from void
2. Which of the following is the correct way to access the first command line argument inside the main method?
easy
A. args[0]
B. args.first()
C. args.get(0)
D. args(0)

Solution

  1. Step 1: Recall how arrays are accessed in Java

    Java arrays use square brackets [] with zero-based indexing to access elements.
  2. Step 2: Evaluate options

    Only args[0] uses correct syntax. args(0) and args.get(0) are invalid for arrays, and args.first() is not a method for arrays.
  3. Final Answer:

    args[0] -> Option A
  4. Quick Check:

    Array access uses square brackets = args[0] [OK]
Hint: Use square brackets to access array elements: args[0] [OK]
Common Mistakes:
  • Using parentheses instead of brackets
  • Trying to call methods on array
  • Confusing with List syntax
3. What will be the output of the following Java program if run with command line arguments: java Program Hello World?
public class Program {
    public static void main(String[] args) {
        System.out.println(args.length);
        System.out.println(args[0]);
        System.out.println(args[1]);
    }
}
medium
A. 2 Hello World
B. 3 Hello World
C. 2 World Hello
D. 3 World Hello

Solution

  1. Step 1: Count command line arguments

    Arguments are "Hello" and "World", so args.length is 2.
  2. Step 2: Check printed values

    args[0] is "Hello", args[1] is "World". So output lines are 2, Hello, World.
  3. Final Answer:

    2 Hello World -> Option A
  4. Quick Check:

    args.length=2, args[0]=Hello, args[1]=World [OK]
Hint: args.length counts arguments; args[0] is first argument [OK]
Common Mistakes:
  • Counting program name as argument
  • Swapping args[0] and args[1]
  • Assuming args.length includes program name
4. Identify the error in this Java program that tries to print all command line arguments:
public class Test {
    public static void main(String[] args) {
        for(int i=1; i<=args.length; i++) {
            System.out.println(args[i]);
        }
    }
}
medium
A. System.out.println should use args(i) instead of args[i]
B. args should be declared as int[] not String[]
C. Loop starts at 1 and uses <= causing ArrayIndexOutOfBoundsException
D. main method must return int, not void

Solution

  1. Step 1: Analyze loop indexing

    The loop starts at i=1 and runs while i <= args.length. Array indices go from 0 to args.length-1.
  2. Step 2: Identify error cause

    Accessing args[args.length] causes ArrayIndexOutOfBoundsException. Also, skipping args[0] misses first argument.
  3. Final Answer:

    Loop starts at 1 and uses <= causing ArrayIndexOutOfBoundsException -> Option C
  4. Quick Check:

    Array indices 0 to length-1, loop must use i=0 to i<length [OK]
Hint: Loop from 0 to args.length-1 to avoid index errors [OK]
Common Mistakes:
  • Starting loop at 1 instead of 0
  • Using <= instead of < in loop condition
  • Using parentheses instead of brackets for array access
5. You want to write a Java program that sums two integers passed as command line arguments and prints the result. Which code snippet correctly parses and sums the arguments?
hard
A. int sum = Integer.parseInt(args[0]) + args[1].parseInt(); System.out.println(sum);
B. int sum = args[0] + args[1]; System.out.println(sum);
C. int sum = Integer.valueOf(args[0]) + args[1]; System.out.println(sum);
D. int sum = Integer.parseInt(args[0]) + Integer.parseInt(args[1]); System.out.println(sum);

Solution

  1. Step 1: Convert String arguments to integers

    Use Integer.parseInt() to convert each String argument to int.
  2. Step 2: Sum the parsed integers and print

    Sum the two parsed ints and print the result using System.out.println.
  3. Final Answer:

    int sum = Integer.parseInt(args[0]) + Integer.parseInt(args[1]); System.out.println(sum); -> Option D
  4. Quick Check:

    Parse strings to int with Integer.parseInt() before adding [OK]
Hint: Parse args with Integer.parseInt() before arithmetic [OK]
Common Mistakes:
  • Adding strings directly without parsing
  • Using wrong method to parse integers
  • Calling parseInt() on string variable incorrectly
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard