排序、类和对象

排序

选择排序

每一个循环从待排序的数据中选出最小 / 最大的,顺序放在已排好序的序列最后,直到全部记录排序完毕。

冒泡排序

每一轮比较相邻两个元素, 小的放前面, 大的放后面

插入排序

将数组分为两部分, 一部分为排序好的, 另一部分逐个比较前一部分, 插入到前一部分合适的位置。

类和对象

类即类型,所有同种对象共同的特征和行为, 抽象出来成为类
符合类的特征的独立个体
class: 类/类型 和int功能一样 创建一个类
一切皆对象, Java操作的基本单位就是对象
类的命名规则:驼峰命名法, 首字母大写

使用对象的步骤:

1.必须先有类
class Student {
成员变量 name,age
成员方法study(){}
}
2.才能创建对象 - main - 方法 - 存在于类中
Student s = new Student();
3.有了对象, 对象包含了成员变量(name和age)和成员方法
使用, 用 . 来调用的

局部变量和成员变量的区别

1.声明位置
局部变量: 存在于方法中
成员变量: 存在于类中
2.初始化
局部变量: 使用前必须初始化
成员变量: 可以初始化, 如果没有初始化, 会有默认初始值
初始值:基本数据类型为0 引用数据类型为null
3.个数
局部变量: 声明个数
成员变量: 由对象决定, 有几个对象就有几个成员变量
4.内存中的位置
第一次使用类[创建类的对象]之前, 会先将类进行加载
局部变量: 方法栈中, 方法结束, 局部变量消失
成员变量: 跟对象一起, 在堆中

方法重载:

方法名一样, 参数列表不一样的几个方法
跟返回值类型无关
举例: println print
参数列表不一样的情况: 个数不同\类型不同\类型不同时其顺序不同

构造方法/构造器:

目的: 为了给成员变量初始化
特点: 方法名要和类名一致
没有返回值类型
构造方法可以重载
当类中没有定义构造方法时, 编译器会默认添加无参构造方法

this:

在构造方法中 其意义为new 的这个对象
表示当前对象 - 这个对象
哪个对象调用方法, 就表示哪个对象
this可以调用自己的成员变量, 当成员变量和临时变量重名时, this不能省
this也可以调用自己的成员方法, this可以省略( study(){} )
this也可以调用自己的构造方法, this(参数), this不能省
且只能放在构造方法的第一行!

引用类型的数组

使用步骤:

1.给数组初始化
Student[] ss = new Student[5]; // 默认值都是null
2.给数组元素初始化
ss[0] = new Student();
ss[1] = new Student();

NullPointerException: 空指针异常

产生原因: 调用了null空值得 成员变量 或者 方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值