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、

  

Java基础复习笔记系列 四 数组的更多相关文章

  1. Java基础复习笔记系列 九 网络编程

    Java基础复习笔记系列之 网络编程 学习资料参考: 1.http://www.icoolxue.com/ 2. 1.网络编程的基础概念. TCP/IP协议:Socket编程:IP地址. 中国和美国之 ...

  2. Java基础复习笔记系列 八 多线程编程

    Java基础复习笔记系列之 多线程编程 参考地址: http://blog.csdn.net/xuweilinjijis/article/details/8878649 今天的故事,让我们从上面这个图 ...

  3. Java基础复习笔记系列 七 IO操作

    Java基础复习笔记系列之 IO操作 我们说的出入,都是站在程序的角度来说的.FileInputStream是读入数据.?????? 1.流是什么东西? 这章的理解的关键是:形象思维.一个管道插入了一 ...

  4. Java基础复习笔记系列 五 常用类

    Java基础复习笔记系列之 常用类 1.String类介绍. 首先看类所属的包:java.lang.String类. 再看它的构造方法: 2. String s1 = “hello”: String ...

  5. Java基础复习笔记系列 二

    1.Java中Static的相关用法总结?(静态方法:静态变量:静态代码块) public static void main(String args[])执行的关键,在于有static.有了stati ...

  6. Java基础复习笔记系列 三

    前几节都是基础中的基础,从第三讲的笔记开始,每次笔记针对Java的一个知识块儿.  Java异常处理 1.什么是异常? 异常是指运行期出的错误.比如说:除以一个0:数组越界:读取的文件不存在. 异常处 ...

  7. Java基础复习笔记系列 十三 反射机制

    主题:Java反射机制 学习资料参考网址: 1.http://www.icoolxue.com 1.Java反射机制. 各种框架中都使用到了Java的反射机制. 两个类:java.lang.Class ...

  8. Java基础复习笔记基本排序算法

    Java基础复习笔记基本排序算法 1. 排序 排序是一个历来都是很多算法家热衷的领域,到现在还有很多数学家兼计算机专家还在研究.而排序是计算机程序开发中常用的一种操作.为何需要排序呢.我们在所有的系统 ...

  9. Java基础知识笔记(四:多线程基础及生命周期)

    一.多线程基础 编写线程程序主要是构造线程类.构造线程类的方式主要有两种,一种是通过构造类java.lang.Thread的子类,另一种是通过构造方法实现接口java.lang.Runnable的类. ...

随机推荐

  1. lua跨平台文件夹遍历匹配查找

    require"lfs" --[[Desc:在B路径D文件中下 搜寻A路径下的没用到的C类文件: 并且将没用到的B类文件名称打印出来: 设置好路径拖到lua自带编辑器中即可运行之; ...

  2. 大数据平台R语言web UI应用架构 设计与开发

    1. 系统拓扑图 在日常业务分析中,R是非常常用的分析工具,而当数据量较大时,用R语言需要需用更多的时间来完成训练模型,spark作为大规模数据处理框架,采用内存计算,可以短时间内完成大量的数据的处理 ...

  3. 百度面试题 字符串相似度 算法 similar_text 和页面相似度算法

    在百度的面试,简直就是花样求虐. 首先在面试官看简历的期间,除了一个自己定义字符串相似度,并且写出求相似度的算法. ...这个确实没听说过,php的similar_text函数也是闻所未闻的.之前看s ...

  4. SQLServer性能分析

    SQLServer性能分析 当数据库出现性能问题,应用出现运行缓慢的时候,下面这个东东能让你如获至宝 create table #sp_who2 ( SPID int ,status varchar( ...

  5. Python中的参数

    Python中的参数 1. python函数参数有多重形式: * test(arg1,arg2,`*args`) * test(arg1,arg2,`*args`,`**kwargs`) 2. 其中比 ...

  6. 封装WebAPI客户端,附赠Nuget打包上传VS拓展工具

    一.前言 上篇< WebAPI使用多个xml文件生成帮助文档 >有提到为什么会出现基于多个xml文件生成帮助文档的解决方案,因为定义的模型可能的用处有: 1:单元测试 2:其他项目引用(可 ...

  7. Control Flow 如何处理 Error

    在Package的执行过程中,如果在Data Flow中出现Error,那么Data Flow component能够将错误行输出,只需要在组件的ErrorOutput中进行简单地配置,参考<D ...

  8. Android入门(六)碎片

    原文链接:http://www.orlion.ga/493/ 一.碎片 碎片(Fragment)是一种可以嵌入在活动当中的 UI片段,它能让程序更加合理和充分地利用大屏幕的空间,因而在平板上应用的非常 ...

  9. javascript学习目录

    类型系统 [1]基本数据类型 [2]引用类型中的对象Object [3]引用类型中的数组Array [4]引用类型中的时间Date [5]函数Function [6]正则表达式RegExp [7]包装 ...

  10. php易混淆知识点

    一.define(“constant”,  “hello world”);和const constant = “hello world”;的区别? (0).使用const使得代码简单易读,const本 ...