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. iOS-ARC项目使用非ARC文件 MRC项目使用ARC文件

    SDK4.0引入了ARC,到现在已经好几年了,开始发现有很多项目会混合使用这两个方案.比如: 1.自己的旧项目没有使用ARC,但是引入的第三方库却是使用了ARC的. 2.自己的新项目使用了ARC,但是 ...

  2. 关于js中的同步和异步

    最近看到前端面试问到js中的同步和异步,这个问题该怎么回答? 梳理一下,js对于异步的处理,很多人的第一反应是ajax,这只能说是对了一半. 1.个人觉得,js中,最基础的异步是setTimeout和 ...

  3. Java 多态——与C++的比较

    学习了Java和C++之后,由于长期不使用C++,而java的基础知识掌握不牢,现在已经搞不清java多态了.现在先来谈谈java多态,稍后有时间再更新C++的多态,并进行比较~ 一. Java的多态 ...

  4. KendoUI系列:TabStrip

    <link href="@Url.Content("~/Content/kendo/2014.1.318/kendo.common.min.css")" ...

  5. 微信小程序里碰到的坑和小知识

    本文作者:dongtao   来自:授权地址 本人低级程序员,以下bug不能确保在其它地方可以以相同的原因复现.同时, 出现很多bug的原因是小程序的基本知识还有编码的基本功不到位造成 路还很长,共勉 ...

  6. Mac下如何配置环境变量

    以前都是在Windows平台上开发,在配置一些框架的时候,为了能够在命令行中调用,一般都会配置bin目录到环境变量中,这是为了让命令行在执行的时候,能够查找到对应的执行文件. 现在工作使用Mac,配置 ...

  7. 基于HTML5的WebGL电信网管3D机房监控应用

    先上段视频,不是在玩游戏哦,是规规矩矩的电信网管企业应用,嗯,全键盘的漫游3D机房: http://www.hightopo.com/guide/guide/core/3d/examples/exam ...

  8. 【Swift学习】Swift编程之旅---ARC(二十)

    Swift使用自动引用计数(ARC)来跟踪并管理应用使用的内存.大部分情况下,这意味着在Swift语言中,内存管理"仍然工作",不需要自己去考虑内存管理的事情.当实例不再被使用时, ...

  9. 读卡器的Win32 Dll调用

    unsafe class Program { [DllImport("mwhrf_bj.dll")] public static extern int rf_card(int ic ...

  10. [锋利的JQ]-超链接提示效果

    关键知识点: 1.事件对象:当事件一旦被触发,事件对象便会创立.事件对象只能作用于该事件的事件处理程序. 2.认识了mousemove事件了连续触发执行的特性. 代码: HTML: <div c ...