1. ASCII码
美国标准信息交换码
由来:计算机中,认识0101010
二进制对于人来说,不认识。能不能让计算机直接识别人类的语言
字母,阿拉伯数字,符号 , 规定,每一个字符,对应一个十进制数
十进制数存在计算机中,计算机自己会转成二进制运算
就出现了对应关系,字符对应十进制数,做了编码表
中文,中国为了让计算机直接识别中文,编码表,每一个汉字,也有十进制数的对应
中文编码表 GB2312 4000个 GBK 20000 GB18030 兼容ASCII
常用的ASCII码表中的字符和数字对应
A-Z 65-90 a-z 97-122 0-9 48-57
2. 数组和函数之间
函数的参数,是一个数组
引用类型,传递参数的时候,传递是地址引用
基本数据类型,传递参数的时候,传递具体数值
3. 数组的遍历*****
数组中,存储了很多数据
遍历就是将数组中的,每一个数据,分别获取出来
int[] arr = {3423,43743,23,5467,324,25,3254}
0 1 2 3 4 5 6
发现,重复的在做事情,使用循环来完成
索引思想
x=0;x<arr.length; x++
数组名+索引,取出数组中的数据
arr[6]
数组的定长,建立长度固定不变的
Java工程师sun,告诉你数组的长度 ==== 存储数据的个数
通过数组的属性来告诉你,
属性:属于数组自己的特性 === length
是谁的属性呢。数组, 数组.length 点调用符,数组实体,调用自己的属性
以后我们的课程,如果遇到了数组问题,90%,遍历
4. 获取数组中的最大值
遍历数组,将数据拿出来
设计思想:
变量,记住数组0下标
遍历数组,每个分别和定义变量进行比较
如果数组中的数据,大于变量中的数据
将数组中的数据,赋值给变量
遍历数组结束后,变量中存储的就是数组中的最大值
5. 数组的排序
将一个没有顺序的数组,按照升序排列
int[] arr = {3,1,2,4}
选择Ok
冒泡Ok
6. 数组的反转
reverse
int[] = {1,3,5,2};
{2,5,3,1}
反转!=倒序遍历
7. 折半(二分)查找
有一个数组,指定一个数据,在数组中,找有没有这个数据存在
如果有,告诉我数据所在数组的下标,如果没有,你也告诉我下标,是负数
折半查找:
前提,数组的有序排列
如果无序,可以使用折半,但是结果不一定准确
如果别人提供一个数组,让我找,有没有关键字
对方给我的数组,是无序的
不能先排序
{100,200,14,13,31,2,1,6,9};
第五天 数组总结
1. 遍历 重要
printArr(int[] arr)
很重要
2. 最值
遍历求出数组中的最大值
int sum = arr[0]
思考题:int sum = 0;
3. 排序 选择重要,冒泡了解 , 希尔排序
升序,必须要会使用选择排序法,对付考试
冒泡简单的了解,写一遍
4. 反转
会写反转,数组,字符串,缓冲区
代码少,原理简单,掌握
5. 折半 掌握原理
实现原理是什么
关键字大于小于或等于数组中心下标的时候
移动哪一个指针