Java学习
冒泡排序
//冒泡排序
//1.比较数组中,两个相邻的元素,如果第一个数比第二个数大,交换二者的位置
//2.每一次比较,都会产生一个最大或者最小的数字。
//3.下一轮可以减少一次排序。
//4.依次循环,直到结束。
public static int[] sort(int[] array) {
int temp = 0;
//外层循环,判断我们这个要走多少次;
for (int i = 0; i < array.length - 1; i++) {
boolean flag = false;//通过flag标识位减少没有意义的比较
//内层循环,比较判断两个数,如果第一个数比第二个数大,交换位置
for (int j = 0; j < array.length - 1 - i; j++) {
if (array[j + 1] < array[j]) {
temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
flag = true;//没有交换
}
}
if (flag = false) {
break;
}
}
return array;
}
for-each循环
//创建一个二维数组 11*11 0:没有棋子 1:黑棋 2:白棋
int[][] array1 =new int[11][11];
array1[1][2]=1;
array1[2][3]=1;
//输出原始的数组
System.out.println("输出原始的数组");
// for ( 变量类型 变量名 : 数组名 ) {
//
// 需要执行的循环语句;
// }
for (int[] ints : array1) {
for (int anInt : ints) {
System.out.print(anInt+"\t");
}
System.out.println();
}
面向过程&面向对象
- 面向过程思想
- 步骤清晰,第一步第二步…
- 面向过程适合处理一些简单的问题
- 面向对象
- 物以类(方法加属性)聚,分类的思维模式,思考问题,首先会解决问题需要哪些分类然后对分类进行单独思考。最后,对某个分类下的细节进行面向过程的思索。
- 面向对象适合处理复杂的问题,适合处理需要多人协作的问题!
** 对于描述复杂的事情,为了从宏观上把握、从整体上合理分析,我们需要使用面向对象的思路来分析整个系统。但是,具体到微观操作,仍然需要面向过程的思路去分析。**
- 面向对象的本质:以类的方式组织代码,以对象的形式封装数据。
- 抽象
- 三大特性:封装、继承、多态。 - 从认识的角度考虑是先有对象后有类。对象是具体的事物。类,是抽象的,是对对象的抽象。
- 从代码的运行角度考虑是先有类后有对象。类是对象的模板。