黑马程序员--数组
来源:互联网 发布:临高启明知乎 编辑:程序博客网 时间:2024/04/30 05:56
------------ ------------ ASP.Net+Android+IOS开发、<A">------------ .Net培训、期待与您交流!">------------ ------------
黑马程序员――数组
一、 数组的定义
1. 数组的定义:同一种类型数据的集合。其实数组就是一个容器。
2. 数组的特点:可以自动给数组中的元素自动从0开始进行编号,方便操作元素
3. 数组的格式:格式一,确定元素个数但不确定元素值,
元素类型[] 数组名 = new 元素类型[元素个数或数组长度];
例:int[] arr = new int[3];
格式二,确定元素值,
元素类型[] 数组名 = new 元素类型[]{元素,元素...};
例:int[] arr1 = new int[]{3,5,6,8,9};
Int[] arr2 = {3,4,5,6,2,8,1};
4. 注意:数组只有存储同一类型数据,且长度不可以改变;数组没添加元素只确定元素个数,那么数组默认元素值为0或null;
二、 数组的内存结构
1. Java在内存中分成五个存储区域,分别为:栈内存、堆内存、方法区、本地方法区、寄存器
l 栈内存:用于存储局部变量,引用它的方法或代码块一执行完,它所占空间 就会自动释放。
l 堆内存:数组和对象,只要是通过new创建的实例对象都存储在堆内存中
每一个实例对象都指向了自己唯一的内存地址值,
实体中的变量都有默认初始化值。
堆内存中有垃圾回收机制,垃圾回收器会不定时将不再使用的实体当作垃圾回收。
l 方法区 :
三、 数组操作中的常见问题
1. 数组角标越界异常(ArrayIndexOutOfBoudsException)
int[] arr = new int[]{12,4,6};
System.out.println(arr[6]);//数组中三个元素,角标为0、1、2;
2. 空指针异常(NullPointerException)
int[] arr = null;
int a = arr[0];//数组中无元素,
四、 数组常见操作
1. 获取最值(最大值,最小值)
2. 选择排序
3. 冒泡排序
4. 折半查找,(我感觉没以上常用)
五、 数组中的数组
1. 二维数组,和一维数组用法一样,格式如下:
l int[][] arr = new int[2][2];//定义一个二维数组有2个元素,每个元素都是一个有2个元素的数组
l int[][] arr = new int[][]{{2,3,5,6},{,67,3,4,8,1}};//定义一个二维数组,有两个数组元素,一个数组有四个元素,一个有5个元素
l int[][] arr = new int[2][];//定义一个二维数组,有二个数组元素,每个数组元素个数不确定
----------------------- ----------------------- ASP.Net+Android+IOS开发、<A">----------------------- .Net培训、期待与您交流!">----------------------- -----------------------
- 黑马程序员-C语言数组
- 黑马程序员-c语言数组
- 黑马程序员---c语言基础数组
- 黑马程序员--数组
- 黑马程序员--02C数组/字符串/指针
- 黑马程序员-ios学习笔记 c语言 数组
- 黑马程序员-java数组
- 黑马程序员-数组
- 黑马程序员_数组
- 黑马程序员-----数组
- 黑马程序员-java数组
- 黑马程序员_day04 数组。
- 黑马程序员_数组
- 7.黑马程序员-数组
- 黑马程序员_数组
- 黑马程序员-数组
- 黑马程序员_数组
- 黑马程序员-数组
- 菜鸟的学习之路(9) — ArrayList类
- android layout 布局
- 最大公约数和最小公倍数
- python之路之python爬虫
- HDU 1022 Train Problem I
- 黑马程序员--数组
- 中庸之道
- JAVA系列-设计模式-原型模式
- HTML5学习笔记之canvas绘制圆形
- 黑马程序员-java面向对象的一些问题
- UVA - 658 It's not a Bug, it's a Feature!
- java【源码】成绩管理系统
- vc++数字图像处理 自适应二值化程序
- content="IE=edge,chrome=1"详解