一、main函数

public class Test {
     public static void main(String[] args) {    }
}

String[] args作用 
方便外面的数据引入到main函数中。

二、外面的数据通过 String[] args传入到main的过程 
(一)新建一个main( )函数

public class Test {
     public static void main(String[] args) {    }
 }



(二)输入数据 
1、进入运行配置:Run Configurations 

java main args 参数转义 java main string args_java main args 参数转义

2、输入数据 
进入Arguments(参数)设置,在Program agruments(程序参数)中输入想要出给main()函数的数据。最后按下Apply,Run保存操作。值与值之间用个空格隔开。 

java main args 参数转义 java main string args_System_02

3、打印外面出给main()函数的数据。 
因为输入的数据main()函数是以字符串型的数组保存的,所以打印是也应该用字符串去接收。

public class TestMain {
     //String[] args:方便外面的数据引入到main函数中
     public static void main(String[] args) {
         String a=args[0];
         String b=args[1];
         System.out.println(a);
         System.out.println(b);
     }
 }

java main args 参数转义 java main string args_java main args 参数转义_03


main方法的参数列表中的String[]args是什么?(命令提示符cmd.exe上运行)
 
1.String[]args是专门用来接收命令行参数的。
  
  命令行参数:
     如:在一个主类中,运行该程序时: java Test1 365 156 "China"
        后面所谓的365 156 "China"就是命令行参数
  
    JVM在调用Array类的main方法之前,先将365 156 "China"这个字符以"空格"的方式分割,然后存储在String数组中。
   
    那么下面用代码解释一下:(需要在命令提示符上运行)

public class Array{
       //main方法中String[]数组的设计主要是用来接收命令行参数的。
       public static void main(String[]args){          System.out.println("String类型的数组中元素的个数是"+args.length); 
          //遍历
          for(int i =0;i<args.length;i++){
            System.out.println(args[i]);
             }           
           }  
         }

java main args 参数转义 java main string args_java main args 参数转义_04

java main args 参数转义 java main string args_java main args 参数转义_05

 

  当在命令提示符上直接运行这个程序的时候,会发现所遍历的数组的个数为0;
那么,如果说在运行的那一行后加上:比如说:java Array abc def ghi,这样所遍历出来的元素的个数为3个.....YOU KNOW???

    那么现在具体来看一下在,这个东西有什么用,emememem...
    eg:我现在有这样一个需求:
        /*
        需求说明:运行该软件的时候必须提供用户名和密码
        格式:java Array username password
        如果没有提供足够的参数,则退出系统
        */
   那么该如何实现其功能呢?
   分析一波,ememmemem....
   首先,我们所要的为username and password,这也就说明我们所需要的String[]args数组的个数为2.
    接下来,如果参数提供正确且用户名为admin,密码为123,则登陆成功。
    
    那么看一下具体实现代码:
  

public class Array{
       public static void main(String[]args){         if (args.length!=2){
             System.out.println("要想使用该系统,必须这样输入: java username password");
             return;
         }         //参数提供正确,如果用户名是admin,密码是123,则登陆成功
         String username = args[0];
         String password = args[1];         //java中比较字符串是否相等,必须使用equals方法
         //String类型是SUN公司提供,已经重写了equals方法,比较的是内容。         if ("admin".equals(username) && "123".equals(password)){//用这种方式写避免了空指针异常
         //if(username.equals("admin") && password.equals("123")) {
             System.out.println("登陆成功.欢迎["+username+"]回来.");
         }else {
             System.out.println("登录失败,用户名["+username+"]不存在或者密码错误!");
         }
     }
 }