欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java连载67-深入一维数组、main方法中的args参数详解

程序员文章站 2022-03-10 12:42:00
一、复习了一维数组,还复习了强制类型转换的注意点。 package com.bjpowernode.java_learning; public class D67_1_GoDeepIntoArrays { public static void main(String[] args) { //创建一个 ......

一、复习了一维数组,还复习了强制类型转换的注意点。

 

package com.bjpowernode.java_learning;

 

public class d67_1_godeepintoarrays {

  public static void main(string[] args) {

    //创建一个数组,这个数组既可以存储dog,也可以存储cat

    animal67[] as = new animal67[4];

    //给数组每个元素赋值

    dog67 d1 = new dog67();

    dog67 d2 = new dog67();

    cat67 c1 = new cat67();

    cat67 c2 = new cat67();

    as[0] = d1;

    as[1] = d2;

    as[2] = c1;

    as[3] = c2;

    //需求:遍历数组,取出每个对象,如果是dog67那么就执行eat方法,如果是cat67就执行move方法

    for(int i = 0;i<as.length;i++) {

      animal67 a = as[i];

      if (a instanceof cat67) {

        cat67 c3 = (cat67)a;

        c3.move();

      }else {

        dog67 d3 = (dog67)a;

        d3.eat();

      }

    }

  }

}

class animal67{

 

}

class dog67 extends animal67{

  public void eat() {

    system.out.println("dog eat");

  }

}

class cat67 extends animal67{

  public void move() {

    system.out.println("cat move");

  }

}

 
 

package com.bjpowernode.java_learning;

 

public class d67_1_godeepintoarrays {

  public static void main(string[] args) {

    //创建一个数组,这个数组既可以存储dog,也可以存储cat

    animal67[] as = new animal67[4];

    //给数组每个元素赋值

    dog67 d1 = new dog67();

    dog67 d2 = new dog67();

    cat67 c1 = new cat67();

    cat67 c2 = new cat67();

    as[0] = d1;

    as[1] = d2;

    as[2] = c1;

    as[3] = c2;

    //需求:遍历数组,取出每个对象,如果是dog67那么就执行eat方法,如果是cat67就执行move方法

    for(int i = 0;i<as.length;i++) {

      animal67 a = as[i];

      if (a instanceof cat67) {

        cat67 c3 = (cat67)a;

        c3.move();

      }else {

        dog67 d3 = (dog67)a;

        d3.eat();

      }

    }

  }

}

class animal67{

 

}

class dog67 extends animal67{

  public void eat() {

    system.out.println("dog eat");

  }

}

class cat67 extends animal67{

  public void move() {

    system.out.println("cat move");

  }

}

 

Java连载67-深入一维数组、main方法中的args参数详解

二、方法调用的时候也可以传递一个数组

 

package com.bjpowernode.java_learning;

 

public class d67_2_ {

  public static void main(string[] args) {

    //第一种方式

    int[] a = {12,3,4,5,6};

    m1(a);

    //第二种方式

    m1(new int[] {34,4,5,6});

    //m1({34,4,5,6});这种方式是不行的,编译报错

  }

 

  public static void m1(int[] a) {

    for(int i = 0;i<a.length;i++) {

      system.out.println(a[i]);

    }

  }

}

Java连载67-深入一维数组、main方法中的args参数详解

三、关于main方法中的参数列表string[] args

1.string[] args是专门用来接受命令行参数的

2.例如:java arraytest07 abc def aaa

jvm在调用arraystest07类的main方法之前,先“abc def aaa"这个字符串以”空格“的方式进行分割,然后存储在string数组中。·

 

package com.bjpowernode.java_learning;

 

public class d67_3_argsanlysis {

  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 d67_3_argsanlysis usrname password

    //如果用户没有提供足够的参数,则退出系统

    if (args.length != 2) {

      system.out.println("要想使用这个系统,就必须这样输入java d67_3_argsanlysis usrname password");

      return ;

    }

    //参数正确,如果用户名为admin,密码是123则登陆成功

    string username = args[0];

    string passsword = args[1];

    if ("admin".equals(username) && "123".equals(password)) {

    //这里如果写成username.equals("admin"),就容易造成空指针异常

      system.out.println("登录成功,欢迎admin");

    }else {

      system.out.println("登录失败,请重新确认")

    }

  }

 

}

 

四、源码:

d67_1_godeepintoarrays.java

d67_2_twowaysofinvolingarray.java

d67_3_argsanlysis.java

https://github.com/ruigege66/java/blob/master/d67_1_godeepintoarrays.java

https://github.com/ruigege66/java/blob/master/d67_2_twowaysofinvolingarray.java

https://github.com/ruigege66/java/blob/master/d67_3_argsanlysis.java

2.csdn:https://blog.csdn.net/weixin_44630050

3.博客园:https://www.cnblogs.com/ruigege0000/

4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料

 Java连载67-深入一维数组、main方法中的args参数详解