数组
数组:容器,可以用来储存相同数据类型的一组数据。
数组的长度:能够储存几个值
数组的最大下标永远比长度小1
数组表达式:
数据类型[] 数组名 = new 数据类型[n];
n为数组的长度
数据类型[] 数组名 ={ ,具体数据, ,};
存值:
数组名[0] = 20;将20赋值给“数组名[0]”
数组名[1] = 30;
数组的下标最小值为0,最大值为长度减1。
取值:
Int A = 数组名[0];取出下标为0的数组的值,并将这个值赋值给变量A
B = 数组名[1];
Int类型的数组的初始值为0
Double 类型的数组的初始值为0.0
String 类型的数组的初始值为 null
高级for循环
Foreach+alt+/
表达式
For(数据类型 变量名 :容器名){
}
变量名:循环容器时,从容器中取出的每一个值,然后将这个值赋值给这个变量。
数组的常见异常
- ArrayIndexOutOfBoundsException:
数组下标越界异常 : 你的下标超过了最大的下标值了
2、空指针异常
冒泡排序:
排序方法:
1:比较相邻的元素。如果第一个数比第二个数大,就交换他们两个位置。
2:对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。此时第一轮,最后的元素应该会是最大的数。
3:针对所有的元素重复以上的步骤,除了最后一个。
4:持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
口诀:升序
n个数字来排队 两两相比小靠前 外层玄幻 n-1 内层循环n-1-i
数组排序方法:
For(int i=0;i < n.length-1; i++){ 外层控制循环几轮
For(int j=0; j <n.length-1-i;j++){ 内层控制一轮循环几次
}
}
Arrays.toString()输出数组内所有的值
Arrays.COPYOF()数组扩容:
N = Arrays.COPYOF(N,N.length+1)
面向对象
面向对象:以结果为中心,不需要每件事情都要自己完成,核心:找到正确的对象。
对象:每一个对象都要2个属性,实实在在存在的个体,有属性和方法构成,是类中具体的一个实例对象。
类:是抽象的,抽象的概念,指的是一个群体,具有相同属性和行为的对象的抽取。
静态属性:描述有一个对象的固定属性(属性);
动态属性:描述这个对象能干什么(方法);
Class-类
先声明一个类(属性,方法)
通过类来创建对象
类名 对象名 = new 类名;
Eg:Student s = new Student;
使用对象来调用属性和方法
明确:只有对象才能调用方法
方法:是一种功能的体现
方法可以直接调用当前类的属性
方法五要素:
访问修饰符(目前暂用public) 方法返回值 方法名(){
方法体
}
方法返回值:不需要结果返回时使用void 需要结果时更具返回值的数据类型确定。注意:return 和 void 无法同时纯在,有void 就不能出现 return,出现return就不能使用void
参数列表:使用这个方法需不需要条件,需要条件就在()中声明,方式和属性声明一样。
此时参数在方法中是一个占位符,在方法中可以直接使用是为形式参数。
调用对象中的属性和方法:
s.name = “小明”;// 调用属性
s.js(); //调用方法