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.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+"]不存在或者密码错误!");
}
}
}