标签:
第五天笔记
同一个方法,允许同名方法。只要参数列表不相同。重载个数,类型,顺序,有一个不同,就是重载。
判断是不是重载:只看参数名字和方法名字,其他情况不考虑。
练习:打印99乘法表
代码演示:
结果:
为了方便存储很多的数据,简单操作,方便计算
数组就是一个容器,就是存储多个变量(这些变量的数据类型必须一致)。
数组中存储的数据类型单一,解决数据过多的问题。
数组可以存储基本数据类型,也可以存储引用类型。
A.数据类型[] 数组名
数据类型:数组中存储数据的类型
[]:表示定义了一个数组
数组名:标识符
B. 数据类型 数组名[]
注:定义完数据,数组中没有数据,java中的数组必须进行初始化才能用。必须规定数组中存储数据的个数,数组中存储数据的个数,必须写在中括号
代码演示:
结果:
动态初始化:定义数组的时候只规定存储的个数,具体数据不指定
动态初始化的格式:
数据类型[] 数组名=new 数据类型[存储个数];
=左边 数据类型是数组中存储类型
[]:表示数组
名字:标识符
=右边
New :关键字 创建容器实体
数据类型:欧诺个存储数据的类型
[]: 表示数组
存储个数:数组中元素的个数
代码演示:
结果:
称为下标,角标
数组对于存储进来的每一个数据,都有一个自动编号,编号为int类型
从0开始计算,自动的变哈,数组的索引
数组名[索引]
最小是,最大存储的个数-1
运行时期的事情,JVM会在你的内存中划分出一个区域自己使用
JVM划分的5个区域:
寄存器: 操作与cpu有关的内容
本地方法栈:JVM调用windows中的功能使用
方法区: 存储方法的 ,class文件
栈: 运行方法的
堆:凡是new出来的,存储的是实体容器,
数组在堆中存数,数组中有默认值
定义变量arr,属于main的局部变量,很碎main方法在栈内存
数组创建完毕后,JVM会将数组的首地址传递给
引用型变量为null,则不再引用空间。
创建数组的时候,直接对数组中的元素赋值
长度是
格式1:
数据类型 [] 变量名=new 数据类型[不能写长度]{存储的数据,多个数据用,隔开}
格式2:
数据类型 [] 变量名= {存储的数据};
代码演示:
演示结果:
数组创建成功以后,JVM会自动的给数组创建一个属性
属性属于数组自己的特性
属于运算结果是int类型,表示数组的长度就是存储数据的个数
写法:数组名.Length
Int length=arr.length
代码演示:
演示结果:
A.数组下标越界异常,你访问了数组中没有的下标,错误信息,只出现在运行时期。
B.空指针异常,引用变量已经没有具体的内存指向,还要访问这个数组,错误信息,只出现在运行时期:
数组=null时,不在保留数组的内存地址
A.数组的遍历
遍历:把数组中的存储的所有元素一一获取出来
为什么存储char类型的数组在,输出语句的时候,看到的是每个字符,不是地址。原因:只有使用char数组的时候,println方法自己进行了遍历
代码演示:
演示结果:
B.获取数组中的最值
在一个数组中,找出最大值和最小值
代码演示:
演示结果:
实现数组遍历的原理:最远端换位
下标思想:2个变量表示下标,一个是0,一个是length-1;
代码演示:
演示结果:
数组中采用的存储的元素和下标一一对应的方式
数组查找法(根据键盘录入索引,查找对应星期)
代码演示:
演示结果:
要求数组中,找元素,第一次出现的索引,出现即可,后面没有不考虑
运算结果是出现的索引值
如果没出现呢,凡是找索引十位,如果没有找到,返回结果必须是负数,小于0即可
代码演示:
结果演示:
就是数组中的数组
定义格式1:
int [] [] arr = new int [3] [2]
=左边
Int存储数据类型
[][]二维变量
Arr 变量名
=右边
New 创建实体容器
[3] 二维数组中包含了三个小数组
[2] 每个小数组中有2个元素
定义格式2:
Int[] [] arr=new int[3][]
二维数组中,包含三个一维数组,但是每个一维数组中存储多少元素,没有定义
定义格式3:
int[][] arr = new int[][]{ {1,2,3},{4,5} };
定义二维数组,二维中2个小数组,第一个小数组存储1,2,3,第二个小数组存储4,5
代码演示:
结果显示:
实现思想和遍历一维数组,是一样的,数组中的数组
先遍历大数组,遍历大数组的过程中,遍历小数组
嵌套循环for
外循环,遍历大数组
内循环,遍历小数组
代码演示:见15.
标签:
原文地址:http://www.cnblogs.com/liman/p/4348734.html