数组
1.动态定义方式
int [] a = new int[30]
数组类型
[数组的标识] 变量名称 = new 数组的类型[长度]
2.静态定义方式
int [] b = new int[]{0,1,2,3,4}
{数组的元素}
通过这两种定义的方式,数组的长度一定是确定的
3.访问数组的元素
索引index 数组的下标 可以通过数组的下标去获取数组中的元素
数组的下标从0开始 index=length-1 下标=数组的长度-1
通过打印看到数组的内容:借助数组的工具类Arrays
可以使用Arrays.toString()把数组转换成字符串
以字符串的形式去显示数组的内容
数组动态定义时
如果数组是基本数据类型
那个元素都是基本数据类型,不是对象
如果声明的是引用数据类型的数组
那各元素都是对象,默认值为null
数组快速排序:Arrays.sort()
sort排序
排序
选择排序:将第一个元素和其他元素相比,如果第一个元素大于后面的元素就进行交换位置
思路:使用两层循环
第一层循环用于表示第一个元素
第二层循环用于表示后面的每一个元素
冒泡排序:相邻元素两两比较
反转排序:前面的元素和后面的元素进行交换,将数组逆序排列
插入排序
数组复制System.arraycopy()
二维数组:
结构上类似于表格
定义二维数组:int [] [] a = new int[2][3]{};
Int [] [] b = new int[][]{0,1}{1,2};
二维数组二次循环 输出
面向对象
这种模块化的思想(更贴近生活的思想) ------面向对象思想
模块化思想:
针对某一个业务逻辑的时候
,只需要考虑业务逻辑里面需要的业务流程即可
,与这个业务逻辑无关的模块,交给相应的人员去考虑。
模块化的这种思想:
模块与模块相独立
彼此之间不会产生直接的影响
松耦合关系
通过调用|访问这样的方式把各个模块连接在一起
利于维护
利于扩展
轻量级(更利于代码的重复利用) 较少代码冗余
什么叫对象
在Java语言中Object被看成是对象,是所有对象的主体
什么是类
从多个对象当中抽象出来的共同的特征 可以把这种特性 称之为类----class
通常在一个类中
一般以名词作为类的属性存在(成员变量)
以动词作为类的方法存在(成员方法)
所有被new关键字 创建出来的对象都是引用数据类型
构造方法
1.1 构造方法有哪些特性
l 构造方法的名称一定和类名相同
l 构造方法没有返回值
l 创建对象时构造方法被调用 Person p = new Person();
l 构造方法不能是静态的
构造方法:给对象进行初始化
关于构造方法的调用:
要根据方法的参数来决定调用相应的构造方法
存在和成员变量同名的变量时,用this
this关键字 当前类的引用
引用:引用指向哪个类,那么当前的引用指向的就是哪个类的对象
封装
正常去访问一个属性的时候 p.name这样的方式去进行访问
但是有些是比较的隐私,不能让其他类随意的访问
将name属性进行私有化,使用private关键字进行修饰
其他类对name这个属性就没有访问权限,但是又需要给某些类一个使用的权限,只能通过提供方法来解决这个问题
通过使用set和get方法来对name属性进行设置和获取。