一.数组
- 数组长度不可以改变
数组索引的最大值是数组的长度减一,因为数组索引是从零开始的
For语句,第一个表达式,定义变量,这个变量是数组索引,初始值为0;
第二个表达式,条件语句,索引小于数组长度
循环体,当语句结果为true时,开始执行循环体
第三个表达式,执行++
执行第二个表达式,结果为true时,执行循环体
执行顺序:1>2>4>3>2
2.java中有一个类Arrays,定义大量的sort方法,可以对数组中的元素进行排序,按照数字大小进行排序
3.定义了binarySearch方法,可以对数组的索引位置进行查找,数组必须是有序的
4.java中类System,定义大量的arraycopy方法,对数组元素进行拷贝
从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束
Arrayscopy(源数组,源数组开始的位置(索引),目标数组,目标数组开始的位置(索引),复制长度(长度不能超过源数组长度,否则数组越界,一般减去源数组开始复制的索引));
是复制不是删除
Arrays.toString以字符串的形式返回数组
面向对象:记忆的特别多,概念多,理解的相对较少,理解的是面向对象编程
1.OPP:面向过程的编程
自己买材料,自己切菜切肉,开炒,盛到盘子里
OOP:面向对象的编程
去饭店,张开嘴:老板,来一份鱼香肉丝
2.面向对象有什么优势:
(1)你不需要知道鱼香肉丝是怎么做的,如果你突然不想吃了,想吃红烧肉,对应于opp来说,不太容易,要重新准备食材,对于oop来说特别容易,叫老板换菜即可,降低了耦合性,提高了可维护性
(2)面向过程是具体化的,流程化的:解决一个问题,你需要一步一步的分析,一步一步的实现
(3)面向对象是模型化的:不必一步一步的实现,至于这个功能是如何实现的,管我们什么事,会用就可以了
(4)优点:易维护,易复用,易扩展,由于面向对象有封装,继承,多态的特性,可以设计出低耦合的系统,是系统更加灵活,更加易于维护
3.面向对象的三大特征:
封装:将功能封装成一个个独立的单元,减小耦合,避免牵一发而动全身,方便程序的修改
继承:代码重用,减少编码量,间接减少维护成本
多态:不同场合做出不同响应
4.类和对象的关系:
类:是一个模板,是一类的对象模板,它描述一类对象的行为和状态,定义了这些对象应该有的属性及方法
对象:万物皆对象,具体某一辆车就一个对象,车有轮胎,颜色等属性,有开车的行为,对象是类的具体表现,对象的实质:属性(成员变量)+行为(方法或函数)
类是图纸,是创建对象的模板,按照图纸制作的东西是对象(用的是对象)
5.车有轮胎,颜色等属性,有开车的行为
Java中,属性:对应类中的成员变量
行为:对应类中的成员方法(函数)
定义手机类,属性方法和行为
6.属性的定义
属性即对象应有的数据,注:属性又称成员变量,是声明在类中的变量,在方法中声明的变量成为局部变量或临时变量
属性声明的方式
成员变量(实例变量):也叫属性,实例变量,堆内存,声明在类内方法外,可以在声明时赋值或者构造方法赋值,若不赋值,则会有默认的初始值
作用域:整个类都可以使用,在成员方法中都可以使用