Java连载67-深入一维数组、main方法中的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");
  }
}

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

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]);
    }
  }
}

67.2

三、关于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.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料

67.3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值