热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

一、复习了一维数组,还复习了强制类型转换的注意点。packagecom.bjpowernode.java_learning;publicclassD67_1_GoDeep

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) {

      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) {

      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_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) {

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

    }

  }

}

三、关于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) {

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

 


推荐阅读
  • 先看官方文档TheJavaTutorialshavebeenwrittenforJDK8.Examplesandpracticesdescribedinthispagedontta ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 本文介绍了如何在给定的有序字符序列中插入新字符,并保持序列的有序性。通过示例代码演示了插入过程,以及插入后的字符序列。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文探讨了C语言中指针的应用与价值,指针在C语言中具有灵活性和可变性,通过指针可以操作系统内存和控制外部I/O端口。文章介绍了指针变量和指针的指向变量的含义和用法,以及判断变量数据类型和指向变量或成员变量的类型的方法。还讨论了指针访问数组元素和下标法数组元素的等价关系,以及指针作为函数参数可以改变主调函数变量的值的特点。此外,文章还提到了指针在动态存储分配、链表创建和相关操作中的应用,以及类成员指针与外部变量的区分方法。通过本文的阐述,读者可以更好地理解和应用C语言中的指针。 ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • 如何搭建Java开发环境并开发WinCE项目
    本文介绍了如何搭建Java开发环境并开发WinCE项目,包括搭建开发环境的步骤和获取SDK的几种方式。同时还解答了一些关于WinCE开发的常见问题。通过阅读本文,您将了解如何使用Java进行嵌入式开发,并能够顺利开发WinCE应用程序。 ... [详细]
  • 数组的排序:数组本身有Arrays类中的sort()方法,这里写几种常见的排序方法。(1)冒泡排序法publicstaticvoidmain(String[]args ... [详细]
  • 本文整理了315道Python基础题目及答案,帮助读者检验学习成果。文章介绍了学习Python的途径、Python与其他编程语言的对比、解释型和编译型编程语言的简述、Python解释器的种类和特点、位和字节的关系、以及至少5个PEP8规范。对于想要检验自己学习成果的读者,这些题目将是一个不错的选择。请注意,答案在视频中,本文不提供答案。 ... [详细]
  • JVM:33 如何查看JVM的Full GC日志
    1.示例代码packagecom.webcode;publicclassDemo4{publicstaticvoidmain(String[]args){byte[]arr ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • 本文介绍了Java数组的定义、初始化和多维数组的用法。通过动态初始化和静态初始化两种方式来初始化数组,并讨论了数组的内存分配和下标的特点。同时详细介绍了Java二维数组的概念和使用方法。 ... [详细]
  • 猜字母游戏
    猜字母游戏猜字母游戏——设计数据结构猜字母游戏——设计程序结构猜字母游戏——实现字母生成方法猜字母游戏——实现字母检测方法猜字母游戏——实现主方法1猜字母游戏——设计数据结构1.1 ... [详细]
author-avatar
手机用户2502906263
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有