`
crazy_rabbit
  • 浏览: 33666 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

数组知识点回顾一

阅读更多

java数组简介:

    1、数组是指一组数据的集合,数组中的每个数据成为元素。
2、在Java中,数组也是对象(Java的引用数据类型:类类型、接口类型、数组类型)。
3、Java数组中的元素可以是任何类型(包括基本数据类型和引用类型),但同一个数组中,  只能存放类型相同的元素。

Java数组的内容:
    数组的创建和初始化;
访问数组的元素和长度;
为数组排序和查找数组中的特定元素。

    FirstSection

创建数组的大致步骤包括:
1、声明一个数组类型的引用变量,简称为数组变量;
2、用new语句创建数组实例,new语句为数组分配内存,并且为数组中的每个元素赋予默认值;
3、初始化,即为每个数组元素设置合适的值。

代码举例:
int[] a;//声明一个int数组类型的引用变量——a;
a=new int[5];//new语句创建数组实例,为数组中的每个元素赋予默认值,为0;
for(int i=0;i<a.length;i++) {//这个阶段就是初始化的阶段,为每个数组元素设置合适的值。
a[i]=i;
}

注意:
1、在用new语句创建对象的时候,需要指定数组的长度。数组长度表示数组中元素的数目。数组的长度可以用直接数表示,也可以通过变量来表示。

代码举例:
int[] a = new int[5];//定义一个长度为5的int类型的数组
也可以通过这样的方式来创建数组:
int size = 5;
int[] a = new int[size];

2、int[][] data = new int[100][];
System.out.println(data[0]);//打印null,data[0]是int[]数组,数组也是引用类型,默认值是null

3、数组的长度可以为0,此时数组中一个元素也没有。例如,int[] x = new int[0];
但是不打印null,因为new语句创建了数组实例,分配了内存空间。System.out.println(x);打印的是类似于[I@182f0db的字符串。

4、对于Java类的程序入口方法main(String[] args),如果运行这个类时没有输入参数,那么main()方法的参数args并不是null,而是一个长度为0的数组。
public class Sample{
public static void main(String[] args) {
System.out.println(args.length);
}
}


5、数组对象创建好后,长度是固定的。但是数组变量可以改变引用的数组对象。
int[] a = new int[3];
a = new int[4];


    SecondSection:
    访问数组的元素和长度:
1、抛出的异常:ArrayIndexOutOfBoundException——数组下标越界异常,这个异常是一个运行时异常,继承RuntimeException。这种异常是由程序代码错误引起的,应该在程序调试阶段消除他们。
2、Java数组有一个length属性,String类有一个length()方法。length属性的声明形式为:
public final length;因此在程序中只可以读取属性,不能修改这个属性。被final修饰的变量是常量,只能被赋值一次,不能再修改。
3、数组变量只有引用了数组对象后才能访问数组中的元素,相反没有引用任何数组对象,那么其默认值是null。(注意哦,这个可是数组变量没有引用数组对象时候的默认值)
4、当一个数组元素是引用类型是,数组中存放的不是对象本身,而是这个对象的引用。
代码举例:
StringBuffer sb = new StringBuffer("a");
StringBuffer[] sbs = new StringBuffer[]{sb,null};
sb.append("b");
sb = null;
sbs[0].append("c");
System.out.println(sbs[0]);
sbs[0] = null;//结束元素对象的生命周期
sbs = null;//结束StringBuffer数组对象的生命周期

1
0
分享到:
评论

相关推荐

    【Vue基础知识点速查手册 - 面试指南】从指令到计算属性,让Vue不再难懂

    内容概要: - 涵盖了Vue的基础知识点,如指令、方法、计算属性等 - 列出了常用的指令语法,如v-...这是一份针对Vue基础知识点的速查手册,可以帮助初学者快速回顾和掌握Vue的基础语法,也可供开发者面试前进行知识点整理。

    C语言知识点总结完美版

    资源介绍: 内容概要: 这份资源是关于C语言的全面知识点总结,涵盖了C语言编程的...3. 实践编程:在实际编程项目中遇到特定问题时,可以通过查阅此资源快速回顾相应知识点,提升编程实践技能,如正确使用二维数组。

    JavaScript学习笔记之数组求和方法

    通过最近学习,越来越感觉JavaScript的强大与魅力之处,仅数组一个知识点就让我这样的初学者折腾了很久。折腾是折腾,但还是很有效果的,这几天的学习到的一些基本知识,就在自己的业务就用到了。顿感自信心爆棚,我...

    C语言知识点详细笔记教程

    本C语言教程旨在为学习者提供一个全面而详细的学习路径,内容覆盖C语言的基础知识到高级概念,包括但不限于: C语言基础:数据类型、变量、运算符和表达式。 控制结构:条件语句、循环、跳转语句。 函数:定义、...

    javascript数组去重小结

    最近为了换工作,准备下面试,开始回顾复习JavaScript相关的知识,昨天下午想到了数组去重的相关方法,干脆整理出几篇JavaScript算法文章,以备后用,此系列文章不定篇数,不定时间,想到哪写到哪,不保证正确性,不...

    传智播客扫地僧视频讲义源码

    01_上一次课程知识点_梳理 02_函数模板为什么和函数模板语法基础 03_课堂答疑_遇到莫名其妙的问题_重新编译 04_函数模板当函数参数 05_普通函数和模板函数区别_传智扫地僧 06_函数模板和函数重载在一起(调用规则研究...

    简单图书管理系统设计

    首先一点就是不要怕,别把这些东西看得很难,数组会定义吧?结构体会定义吧?单向链表会使用么?一个知识点一个知识点的去回顾,不懂就看书或者问,一步一步来,慢慢地你就会写了。

    [C/C++基础知识]那些被遗忘的链表知识

    其中就包括那些被遗忘的链表知识,而它又是C语言中非常重要一个知识点.同时发现很多同学都会忘记该知识,所以通过这篇文章一方面帮助大家回忆链表知识,同时对刚接触C语言的同学也有帮助.我采用问答的方式回顾那些知识,...

    Vue组件通信中非父子组件传值知识点总结

    然后大概回顾一下父子传值的过程: 根据上述信息可知,如果两个组件需要传递值那么需要这两个组件之间是父子关系才能传递数据。 那么如果有这样一个组件,既可以帮你传递数据,又可以帮你接收数据该多好啊? 于是乎...

    你必须知道的495个C语言问题.pdf

    许多知识点的阐述都是其他资料中所没有的,弥足珍贵。  涵盖C99标准  “本书是Summit以及C FAQ在线列表的许多参与者多年心血的结晶,是C语言界最为珍贵的财富之一。我向所有C语言程序员推荐本书。”.  ——...

    《你必须知道的495个C语言问题》

    许多知识点的阐述都是其他资料中所没有的,弥足珍贵。 涵盖C99标准 目录 ~第1章 声明和初始化 1 基本类型 1 1.1 我该如何决定使用哪种整数类型? 1  1.2 为什么不精确定义标准类型的大小? 2 1.3 因为...

    计算机程序设计(Java)-教案--单元二--Java语言开发基础.docx.docx

    相关知识点 (1)标识符 Java中的包名、类名、方法名、参数名、变量名等都需要用一个符号来标识,这个符号就称为标识符,java中标识符的命名规那么如下: 组成:可由大小写字母、数字、下划夜(_)和美元符号($) ...

    Java入门1·2·3:一个老鸟的Java学习心得.PART3(共3个)

    第1章 让自己的第一个Java程序跑起来 2 教学视频:19分钟 1.1 想要用Java改变这个世界吗? 2 1.1.1 Java有什么优势? 2 1.1.2 Java在哪儿? 3 1.2 准备好开始Java之旅 3 1.2.1 下载JDK 4 1.2.2 安装JDK 5 ...

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    第1章 让自己的第一个Java程序跑起来 2 教学视频:19分钟 1.1 想要用Java改变这个世界吗? 2 1.1.1 Java有什么优势? 2 1.1.2 Java在哪儿? 3 1.2 准备好开始Java之旅 3 1.2.1 下载JDK 4 1.2.2 安装JDK 5 ...

    数据结构、算法与应用:C++语言描述(原书第2版)第二部分

    第一部分 预备知识 第1章 C++回顾 1.1 引言 1.2 函数与参数 1.2.1 传值参数 1.2.2 模板函数 1.2.3 引用参数 1.2.4 常量引用参数 1.2.5 返回值 1.2.6 重载函数 1.3 异常 1.3.1 抛出异常 1.3.2 处理异常 1.4 动态存储...

    最新Python3.5零基础+高级+完整项目(28周全)培训视频学习资料

    Django知识点整理 作业 第19周 今日内容概要 上课内容概要 今日Django工程的创建 Django获取多个数据以及文件上传 Django的CBV和FBV Django模板语言循环字典 Django基于正则表达式的URL Django对应的路由名称 ...

    尚观史上Linux嵌入式开发系统课程

    ├day26-01巩固知识点回顾与总结.mp4 ├day26-02 匿名信号量的互斥.mp4 ├day26-03 线程id 线程比较.mp4 ├day27-01 线程的执行顺序 资源共享.mp4 ├day27-02 线程资源回收 线程变量创建 线程属性.mp4 ├day27-03 ...

    数据结构与算法C++版

    在程序开发过程中通常需要做到如下两点:一是高效地描述数 据;二是设计一个好的算法,该算法最终可用程序来实现。要想高效地描述数据,必须具备数 据结构领域的专门知识;而要想设计一个好的算法,则需要算法设计...

Global site tag (gtag.js) - Google Analytics