数组排序(共有三种方法)
第一种:冒泡排序
1:让相邻的两个位置进行比较,每轮比较结束之后都会确定一个值(从后往前)
2:实现思路:外层循环嗲表比较轮数,内层循环代表比较次数
第二种:选择排序
1:固定一个下标位置,让其他下标位置与其比较,根据比较结果决定是否换位
2:每轮比较结束后,固定下标位置的值将被确定
3:实现思路:外层循环遍历固定下标,内层循环遍历预期比较的下标
第三种:JDK排序
Java.util.Arrays.sort(数组名);对数组元素进行快速的升序排列
代码演示:
int [] a = {22,33,44,66,55};
Arrays.sort(a);
面向对象
引言:”面向过程“关注的是实现需求的步骤‘
”面向对象“关注的是实现需求的方式
注意:面向对象底层包含面象过程
什么是对象?
对java来讲,万物皆对象
对象-操作单位,任何内容都可以被认定未单独的操作单位
对程序来讲:是计算级内存中的一块存储空间,用来存放显示生活中的对象内容
对象间的关系
1:is a:对象于对象间的继承
2:has a:一个对象包含另一个对象
3:use a:一个对象使用另一个对象
类的补充:
是用来描述同一批具有相同特征和行为的对象
猫叔该批对象都具有那些共有特征和行为
约束相同对象应该具有那些特征和行为
测试类:拥有主函数,可以直接运行
描述型的类:描述对象,不拥有主函数,无法直接运行类
类和对象间的关系
1:类是对象的模板
2:对象是类的实列
3:一个模板可以拥有多个相同相似的实例
注意:必须先存在模板,才能通过模板构建实例
类的组成
注意:包:com/xxx.entity
属性:用来买哦书特征,也称为全局变量、成员变量、成员属性等
特征:对象有什么
代码演示:
//只声明
数据类型 属性名
声明的同时赋初始值
数据类型 属性名=值
位置:类的内部,方法的外部,通常写在类的最上方
局部变量 | 属性 | |
位置 | 方法内部 | 方法外部 |
作用范围 | 从定义行开始,至直属代码块结束 | 整个类 |
命名冲突 | 同一个作用范围内,不可重名 | 可以与局部变量重名,局部变有限级更高 |
默认值 | 没有 | 有 |
方法:用来描述行为,也称为成员方法,实例方法等
函数是方法的一种,也称为静态方法,需要添加static修饰符
代码格式:
访问修饰符 返回值类型 方法名(形参列表){
//操作语句
}
位置:类的内部,其他方法的外部,与属性平级
创建对象
代码格式
类名 对象名=new 类名();
测试类:com.xxx.test
对象访问
1:访问属性
取值:对象名。属性名
赋值:对象名。属性名=值
2:访问方法
对象名.方法名(实参)
构建方法:
作用为创建对象,且对象创建必须借助构造方法
代码格式:
第一种:无需构造
访问修饰符 类名(){
}
第二种:有参构造
访问修饰符 类名 (数据类型 参数名1,数据类型 参数名2,数据类型 参数名n){
属性名1=参数1;
属性名2=参数2;
属性名n=参数n;
}
语法特点:
1:没有返回值类型部分
2:方法名必须与类名保持一致
3:访问修饰符通常为public
使用特点
1:创建对象语法解析
类名 对象名 = new 类名();
左侧类名:声明创建的为哪个类的对象
右侧类名():调用构造方法
2:只能通过new关键字调用
3:语法补充:
利用有参构造创建对象
类名 对象名=new 类名(实参列表);
4:无参和有参的区别
无参构造只创建对象
有参构造在创建对象完成后可以为属性赋初始值
5:类中会默认存在一个公开的无参构造,当类中手动定义构造后,默认存在的无参构造将会小时
无参构造可以存在0-1个,有参狗奥可以存在0-多个
7:根据实参列表决定执行的是那个构造