zoukankan      html  css  js  c++  java
  • Java基础复习笔记系列 四 数组

    Java基础复习笔记系列之 数组

    1、数组初步介绍?

      Java中的数组是引用类型,不可以直接分配在栈上。不同于C(在Java中,除了基础数据类型外,所有的类型都是引用类型。)

      Java中的数组在申明时,不能指定其长度。不同于C

      数组的小标可以是整型常量或整型表达式。

      .length方法是显示数组的长度;数组.length;String.length();一个是属性,一个是方法。注意区分。

      

    2、数组的内存分析?

      Array a[];

      a = new Integer(15);

      /*这个a在栈中,在堆内new了15个基本数据类型,a中存放的是地址。堆中存放的是15个初始化为null的值。

      Array a[];

      a = new Date[12];

      /*同样的a在栈中,在堆中new了12个引用,其中每一个引用指向了一个Date,在没有指向之前,默认初始化为null。

    3、数组的初始化:静态初始化和动态初始化?

      动态初始化,先分配空间,后赋值。int[] a = new int[];是不对的,要:int[] a = new int[23];一定要分配空间。

      静态初始化,在定义数组的时候,就为分配空间并赋值。

    4、public static void main(String[] args)怎么理解?

      String[] args,终归只是一个数组。我们可以将它打印出来。System.exit(-1);表示系统退出。-1表示非正常退出。0表示正常退出。

      问题来了,输入的都是字符串类型。怎么把字符串类型转换为我们常用的一些基本数据类型呢?将基础类型的数据包装成一个对象。(想清楚,对象是放在Heap上的。而基本数据类型基本上都在栈上)。包装类有:Character,Byte,Boolean,Integer,Float,Double等。

      系统错误,一般可以这样来用:System.out.print("System Error");System.exit(-1);

    5、排序的算法居多无比,那么排序怎么排呢?

    6、三目运算符?

      return year > date.year ? 1

        :year < date.year ? -1

        :month > date.month ? 1

        :month < date.month ? -1

        :day > date.day ? 1

        :day < date.day ? -1 : 0;

    7、数组作为返回值的理解?

      返回的也是一个数组的引用,这个引用在栈空间。栈空间的这个应用指向了堆中的数组。返回数组,其实质就是返回了一个引用。

    8、编程小练习:环形手牵手,数3退出,最后剩下的是谁?数3退

      留在代码分析中。

    9、Java二维数组中需要注意的知识?

      在二维数组中,内存是如何安排二维数组的结构的。

      

    10、

      

  • 相关阅读:
    Spring@Profile注解
    day 32 子进程的开启 及其用法
    day 31 udp 协议SOCK_DGRAM
    day 30 客户端获取cmd 命令的步骤
    day 29 socket 理论
    day 29 socket 初级版
    有关 组合 继承
    day 27 多态 接口 类方法 静态方法 hashlib 摘要算法模块
    新式类和经典类的区别
    day 28 hasattr getattr serattr delattr 和带__内置__ 类的内置方法
  • 原文地址:https://www.cnblogs.com/RunForLove/p/4340136.html
Copyright © 2011-2022 走看看