main方法中的String[]args到底是什么?

main方法的参数列表中的String[]args是什么?
 
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]);
            }           
          }  
        }


   当在命令提示符上直接运行这个程序的时候,会发现所遍历的数组的个数为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+"]不存在或者密码错误!");
        }
    }
}
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值