目录
调试技能
- 双击行号左侧区域:设置断点
- F11:启动调试程序
- F5: 跳转到方法内部
- F6: 单步调试
- F8: 跳转到下一处断点
一维数组
基本语法:
int[] arr = new int[10];
//冒泡排序
package basic;
public class SortDemo {
public static void main(String[] args) {
int[] unsortArr = {
34,53,12,32,56,17};
System.out.println("排序前的数组元素为:");
for(int num:unsortArr) {
System.out.println(num);
}
//冒泡排序,定了n-1个位置,最后一个位置也是确定的
for(int index = 0; index < unsortArr.length - 1; index++) {
// 如果已经确定了 i 个元素,自然就不需要再和他们进行比较了
for(int comp = 0; comp < unsortArr.length - index - 1; comp++) {
if (unsortArr[comp + 1] < unsortArr[comp]) {
int temp = -1;
temp = unsortArr[comp + 1];
unsortArr[comp + 1] = unsortArr[comp];
unsortArr[comp] = temp;
}
}
}
System.out.println("排序后的数组元素为:");
for(int num:unsortArr) {
System.out.println(num);
}
}
}
二维数组
基本语法
创建一个三行三列的int类型的数组
int[][] arr = new int[3][3];
创建一个三行不定列数的float数组
float[][] arr = new float[3][];
arr[0] = new float[4];
arr[1] = new float[3];
arr[2] = new float[5];
多态
编译时多态
设计时多态,一般表现形式为方法的重载
运行时多态
程序运行时动态决定调用哪个方法,必须满足继承关系,而且是父类引用指向子类对象
向上向下转型
package basic;
import natapp.liujinliang.Father;
import natapp.liujinliang.Mother;
import natapp.liujinliang.Parents;
public class Poly {
public static void main(String[] args) {
System.out.println("向上转型==========");
Parents m = new Mother();
Parents f = new Father();
System.out.println("向下转型==========");
Mother mom = (Mother) m;
Father daddy = (Father) f;
//向上转型:可以调用子类重写父类的方法以及父类派生的方法,无法调用子类特有的方法
m.test();
f.test();
//抽象类的作用:不可以被实例化,这就避免了无用类的实现
//抽象方法作用:提醒开发者需要实现父类的哪些方法
mom.love();
daddy.love();
//向下转型:必须使用强制类型转换,可以调用子类特有的方法
mom.shopping();
daddy.drinking();
}
}