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. Http Header里的Content-Type

    之前一直分不清楚post请求里Content-Type方式,如application/x-www-form-urlencoded.multipart/form-data.本文会介绍Content-Ty ...

  2. Atitit.数据库存储引擎的原理与attilax 总结

    Atitit.数据库存储引擎的原理与attilax 总结 1. 存储引擎是什么1 2. 其它数据库系统(包括大多数商业选择)仅支持一种类型的数据存储2 3. 表的存储有三个文件:结构+数据+索引2 4 ...

  3. Atitit 理解Monad attilax总结

    Atitit 理解Monad attilax总结 但函数式编程最大的一个问题是,函数是一个数学抽象,在现实世界中不存在,1 那既然这样就够用了,还要 Monad 干嘛?Monad 的作用在这里就体现出 ...

  4. Atitit 图像处理 公共模块 矩阵扫描器

    Atitit 图像处理 公共模块 矩阵扫描器 1.1. 调用说明对矩阵像素遍历处理调用1 2. 矩阵扫描器主题结构1 2.1. 主要说明 从像素点开始填充矩阵1 2.2. 得到模板中心点所对应的图像坐 ...

  5. 容器使用的12条军规——《Effective+STL中文版》试读

    容器使用的12条军规——<Effective+STL中文版>试读     还 记的自己早年在学校学习c++的时候,老师根本就没有讲STL,导致了自己后来跟人说 起会C++的时候总是被鄙视, ...

  6. Workflow中InArgument与OutArgument区别

    序号 InArgument[In参数] OutArgument[Out参数] 1 可以用VS设计器在xaml中定义[In参数]  可以用VS设计器在xaml中定义[Out参数] 2 在xaml中定义的 ...

  7. 构造persen

    package java1; //人类 public class Person { //属性 成员变量 String name; int age=30; //方法 函数 成员函数 void hello ...

  8. 【WP开发】如何处理溢出的文本

    本文内容适用于Runtime App框架 在用户界面上显示文本,用得严重多的是TextBlock,凡是轻量级的东西都会很常用,TextBlock对于显示简单.少量的文本内容相当适合,不过,在我们考虑要 ...

  9. codeforces Gargari and Bishops(很好的暴力)

    /* 题意:给你一个n*n的格子,每一个格子都有一个数值!将两只bishops放在某一个格子上, 每一个bishop可以攻击对角线上的格子(主对角线和者斜对角线),然后会获得格子上的 数值(只能获取一 ...

  10. Android基于mAppWidget实现手绘地图(五)--如何创建地图资源

    地图资源可以通过Slicing Tool工具生成,教程如下: 1.打开Eclipse标准版4.3.2,以Java项目形式导入”slicingtool“项目,运行.(必须是eclipse4.3.2及以上 ...