黑马程序员---数组,遍历,最值,查表法,第六天学习笔记

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

1.      第五天回顾

 语句中的break;continue;

 方法:程序组成部分,写方法,写类,语句

 定义上,格式  public static 返回值类型(void)  名字(参数列表){  return ;}

 方法要求熟练度,明确定义的2个要素

 

2.      第六天学习内容,数组,作用,定义,内存分配,数组操作的常见错误,数组基本操作,遍历,最值,查表法,二维数组

 

3.      如何理解数组

  第一个引用数据类型(数组,类,接口)

  数组就是一个容器,就是存储数据,一个容器,只能存储一种数据类型

  如果数据太多,存储到数组中,  对象太多存储集合

  班级10-13就是个数组,存储的每一个学生

  好处,方便操作已经存储的数据

 

4.      数组定义的格式

l  第一种格式,明确存储的数据类型什么,存储数据的个数

 标准格式: int[]  名字 = newint[5]; 定义存储整数int类型的数组,可以存储5个数据。

 等于号左边: int[]  名字

 int数组中存储的数据类型

 [] 这是一个数组

 等于号右边: new int[5]

 new 创建一个具体的实体对象,创建一个具体的数组容器

 int 数组中存储的数据类型

 [] 表示一个数组

 5 数组的长度,数组可以存储5个int类型数据,长度是固定的

 

l  第二种格式

 标准格式:int[] 名字 = new int[]{1,2,3,4,5,6,7};定义存储整数int类型的数组,在定义的过程中,直接将数据存储到了数组中。

 注意,采用第二种方式,new后面的[]中,不可以写长度

 

l  第三种格式

 表示格式:int[] 名字 = {1,2,3,4,5,6,7,8};定义存储整型int类型的数组,定义中直接将数据赋值到数组中。推荐使用

 

5.      JVM的内存划分

  发生在程序的运行时期,绝不是编译期

  运行的时候JVM在内存中,进行划分,数据的不同,进行分割

 分成5片区域

   寄存器,方法区,本地方法栈,栈,堆

   寄存器:JVM通过Windows和CPU对话的时候使用,了解

   方法区:存储写的方法,了解

   本地方法栈:JVM调用Windows底层功能使用,了解

   栈:运行的方法,局部变量

   堆:存储实体对象的,数组,成员变量

 

6.      内存的区别

  栈: 运行方法,压栈,弹栈,运行完毕就会立刻释放,包含局部的变量,语句中的变量,生命周期较短。

  堆: 存储对象或者数组的实体,成员变量,引用变量记录堆内存中的地址,等待JVM回收,生命周期较长。

 

7.      数组一个特性

  数组对于存储进来的所有数据,进行自动的编号,从0开始计算,没有负数

  自动的编号叫做索引(index),下标,角标,可以直接通过索引操作数组中存储的数据

 

8.      数组操作中的常见量大问题

l  访问了没有的索引,数组中存储3个数据,索引0-2,访问其他的索引,出现数组的下标越界异常ArrayIndexOutOfBoundsException

l  数组的内存指向是null,但是继续操作数组,出现空指针异常 NullPointerException

l  运行中出现了以上两个异常,自己可以处理掉

 

9.      数组的遍历

  数组的遍历,将数组中的每一个元素分别取出来,单个的操作

  但是循环次数怎么控制,数组中存储了10个数据,循环10次

  如果可以知道数组中的个数,数组的长度表示形式

  每一个数组,都有自己的长度,固定写法,数组的属性

  数组名.length 表示出数组的长度,运算结果是int类型

 

10.  数组的查表法

  以数组的形式,建立一个虚拟的表格,需要的数据到数组中进行查找

  在数组中查找数据,下标

  每周1-67,如果用户输入1-7之间的数据,

  比如用户输入的是2,显示"星期二"

  比如用户输入的是7,显示"星期日"

  输入,Scanner  nextInt()

 

11.  二维数组

   数组中还有数组,一个数组中,包含着另一个数组

l  第一种定义格式:int[][]arr = new int[3][2];定义了一个二维数组。一个大数组中可以存储3个小数组,每个小数组中,可以存储2个int数据。

l  第二种定义格式:int[][]arr = new int[3][];定义了一个二维数组。一个大数组中可以存储3个小数组,但是每一个小数组没有被定义

l  第三种定义格式:int[][] arr = {{1,2},{3,4,5},{7,8,9,10}};定义二维数组,直接存储数据,一个大数组中存储3个小数组,第一个小数组,存储2个int数据,第二个小数组存储3个int数据,第三个小数组存储4个int数据

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值