What does “String[] args” contain in java?

后端 未结 8 1821
终归单人心
终归单人心 2020-12-15 08:18

When I run the following program:

public class Test
{
    public static void main(String[] args)
    {
        System.out.println(args);
    }
{
相关标签:
8条回答
  • 2020-12-15 08:58

    The main method has a parameter that is an array of String references. So each time you try to print args, it gives you memory location of array 'args' because this String array args located a place in memory for array elements.

    That say you have an simple program called 'HelloWorld.java' like this:

    public class HelloWorld
    {
        public static void main(String [] args)
        {
            for(int i =0; i<args.length; i++)
                System.out.println(""+args[i]);
        }
    }
    

    Ready to test this program with command line interface:

    java HelloWorld a b c
    

    We can see that this program prints thouse arguments after 'java Helloworld' a b c

    0 讨论(0)
  • 2020-12-15 09:00

    It's a string array.

    1. Modify your code to this:
    public class Test{
       public static void main(String[] args){
           System.out.println(args[0]);
       }
    }
    
    1. Now compile this code:

    $>javac Test.java

    1. Now run:

    $>java Test hello

    This will print: "hello"

    Because "hello" is the argument you are passing to your class.

    If you try: args[x], where x=0..n and run your class via command line: java Test your arguments, then you will see any contents which you pass..

    0 讨论(0)
提交回复
热议问题