1.一维数组

1>静态初始化:数据类型[ ] 变量名 = {元素} 例:int[ ] arr = {1,2}

动态初始化:数据类型[ ] 变量名 = new数据类型[数据长度]

例:int[ ] arr = new int[2]

还有一种形式是:int[ ] arr = new int[2] {1,2} (不用,知道即可)

(数组的长度在初始化之后是固定不变的)

2>访问数组元素时可以使用索引进行访问,这时可以使用for循环来读取

例如:arr[0]就表示访问数组的第一个元素;

最常用的取元素方式:for(int i = 0;i<数组的长度;i++){取元素}

此处最常见的异常有:

数组越界异常(IndexOutOfBoundsException):我们写的索引,超过了数组的索引

空指针异常(NullPointerException):数组直接null(没有值)

3>Java中的内存分配

只需要知道内存中有两种叫做栈和堆的内存空间

栈:存储局部变量(写在方法中,条件语句中等),

特点是使用完毕后,立即回收。

堆:存储new出来的东西

特点是使用完成后等待JVM(java虚拟机)中的GC(垃圾回收)机制进行回收。

(只需记住)

(不能直接使用arr,直接读取会得到此数组对应的地址值)

4>数组内存图解

(亲自动手画画,加深记忆力)

5>练习两道题加强了对数组的运用,

例1.依次输出数组中的每一个元素,并获取长度值。

例2.取得数组中的最大值。

2.二维数组

1>格式定义:

1.数据类型[][] 数组名 = new 数据类型[m][n]

m代表的是二维数组中有多少个一维数组

n每一个一维数组中有多少个元素

2.数据类型[][] 数组名 = new 数据类型[][]{{},{},{}}

3. 数据类型[][] 数组名 = {{},{},{}})

(后面两个知道即可)

取得二维数组中的每一个元素方法:遍历,双重for循环

最外面的for遍历的是每一个一维数组

内层for遍历的是每个一维数组中的元素

(二维数组可以理解为一个班级对应一堆学生)

2> 注意事项

我们定义数组的时候一旦确定具体的数据类型,我们的元素就必须是这个数据类型的

数组的缺点,长度固定

(要牢记)

3.Random类

一个很好玩的类,里面有可以获取随机数的方法。

1>数据类型:引用数据类型(就是需要new)

2>使用方式

1.导包

import java.util

2.创建对象

Random 对象名 = new Random()

3.调用方法

注意:调用方法的时候,要确定随机的范围

例:随机0-9中的数字 nextInt(10),其中包含头,不包含尾

(在初始化的时候,是空参数,nextInt()在不写参数时会从232中取值,random的方法就目前本人理解局限性很大,比如无法随机无重复字符串等,因此只需了解即可,后面使用的比如,UUID方法等都有更加完善的效果)

3>练习,猜数字小游戏(随机产生1-100的数,请猜猜是多少)

java 数组基础学习(一维二维数组)的更多相关文章

  1. Java基础学习之“二维数组”

    一.鄙人对二维数组的理解 二维数组就是由多个数组并列而成 二.举例 1.普通数组(一维数组)的图像格式 2.二维数组的图像格式 代码 1 @Test 2 public void xueXi(){ 3 ...

  2. java基础知识点补充---二维数组

    #java基础知识点补充---二维数组 首先定义一个二维数组 int[][] ns={ {1,2,3,4}, {5,6,7,8}, {9,10,11,12}, {13,14,15,16} }; 实现遍 ...

  3. Android 在资源文件(res/strings.xml)定义一维数组,间接定义二维数组

    经常我们会在资源文件(res/strings.xml)定义字符串,一维数组,那定义二维数组?直接定义二维数组没找到,可以间接定义. 其实很简单,看过用过一次就可以记住了,一维数组估计大家经常用到,但是 ...

  4. 06-01 Java 二维数组格式、二维数组内存图解、二维数组操作

    二维数组格式1 /* 二维数组:就是元素为一维数组的一个数组. 格式1: 数据类型[][] 数组名 = new 数据类型[m][n]; m:表示这个二维数组有多少个一维数组. n:表示每一个一维数组的 ...

  5. Java 数组(三)二维数组

    如果一维数组的各个元素仍然是一个数组,那么它就是一个二维数组.二维数组常用于表示表,表中的信息以行和列的形式组织,第一个下标代表元素所在的行,第二个下标代表所在的列. 一.二维数组的创建 1.先声明, ...

  6. c语言编程学习之二维数组

    二维数组 c语言按照行主序存储二维数组.也就是说,二维数组元素在内存中的位置是连续的,每行末尾元素(若不是最后一行)的下一个元素就是下一行的首元素. 如下图所示 接下来我们来分析一下如何将二维数组所有 ...

  7. C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com

    原文:C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | I ...

  8. C 二维数组,以及自定义二维数组

    C 二维数组,以及自定义二维数组 我们通常情况下是这样定义一个二维数组的: int a[10][15]; 我们分别查看一下a,a[0],*a 都是一样的值吧 我们可以这么理解: a是一个数组的数组 a ...

  9. php 将一个或多个二维数组组合成一个二维数组并根据某个字段排序排序

    最近再写项目的时候,碰到一个问题:如何将一个或多个二维数组组合成一个二维数组并根据某个字段排序排序:实在是想不到哪个php库中有哪个函数能实现,只能自己写一个了,将代码写出来后,发现自己的代码繁琐,并 ...

随机推荐

  1. maven(十)-继承

     继承 如果项目划分了多个模块,都需要依赖相似的jar包,只需要创建一个父模块,在它的pom.xml文件中配置依赖jar包.功能模块只需要继承父模块,就可以自动得到其依赖jar包,而不需要在每个模 ...

  2. linux 命令行模式下,浏览网页方法

    Ubuntu自带最新版的Gnome桌面,拥有大量的服务和桌面应用程序,让您仅通过一张安装光盘就可以体验到无比舒适的操作环境.下文介绍的在ubuntu下使用终端命令行上网的方法. 第一步,需要安装一个名 ...

  3. java笔记--局部内部类认识与理解

    java内部类 内部类应用最多的场景是在编写GUI程序时,将大量的事件监听处理放在了内部类中进行 --如果朋友您想转载本文章请注明转载地址"http://www.cnblogs.com/XH ...

  4. js构建类的方法

    Javascript是一种基于对象的语言,你遇到的所有东西几乎都是对象.但是,它又不是一种真正的面向对象编程(OOP)语言,因为它的语法中没有Class.(不过,ES6引入了Class这个概念,作为对 ...

  5. eclipse直接使用tomcat安装程序的webapp目录调试

    感谢此文:http://blog.csdn.net/soszou/article/details/23673133 本文很多技术及操作来源于此文 需求:因为微信方面的开发调试.为了测试方便,直接构建了 ...

  6. 用ISA2006配置单网卡缓存服务器

    有些公司在部署ISA服务器之前已经有了自己的网络访问解决方案,例如通过硬件防火墙访问互联网,如果这种网络访问解决方案运行效果较好,公司就未必希望用ISA来替代当前的方案,毕竟稳定是第一位的.但在这种情 ...

  7. redis下的持久化保存

    rdb.h   rdb.c  --->  完成数据保存到临时文件,再利用rename保存到指定文件的过程: 如果需要写一个数据持久化保存的功能时,可以参考这部分代码: //rdb API int ...

  8. aclocal: error: aclocal: file '/usr/local/share/aclocal/wxwin.m4' does not exist

    1. 查找wxwin.m4文件 mdfind -name wxwin.m4 2. 删除/usr/local/share/aclocal/wxwin.m4,建立软连接 cd /usr/local/sha ...

  9. Scala模式匹配和样例类

    Scala有一个十分强大的模式匹配机制,可以应用到很多场合:如switch语句.类型检查等.并且Scala还提供了样例类,对模式匹配进行了优化,可以快速进行匹配. 1.字符匹配     def mai ...

  10. 008单例、继承、final

    内容:单例,类继承,final #################################################################################### ...