一、java冒泡排序。
java中的冒泡排序为一种简单的交换排序方法。其基本思路是从头开始扫描需要排序的元素,在扫描的过程中依次的对相邻的元素进行比较,将关键字值大的元素后移,每经过一趟排序后,关键值最大的元素将移到末尾,此时记下该元素的位置,下一趟排序只需要比较到此位置,直到所有的元素都已经有序排序。
代码如下:
public class Maopao{
public static void main(String[] args){
int[] a = {3,6,1,5,7,2,0,8};
int aa = a.length-1;
for(int i = 0;i<len;i++){
for(int k = 0;k<len-i;k++){
if(a[i]>a[i+1]){
int temp = a[i+1];
a[i+1] = a[i];
a[i] = temp;
}
}
}
for(int e:a){
System.out.println(e)
}
}
在cmd中利用javac编译结果如下图所示:
{0,1,2,3,5,6,7,8}
一般地,对n个元素进行冒泡排序,总共需要进行n-1趟,第一趟需要比较n-1次,第二趟需要比较n-2次,第i趟需要比较n-i次。
(第一个for循环为循环的趟数,第二个for循环为每趟比较的次数);
二、for循环以及for循环的嵌套使用。
1、for循环;
for循环的意思就是让程序重复地执行某些语句。在程序设计时,常常需要处理大量的重复动作,采用循环结构可以降低程序书写的长度和复杂度,可使复杂问题简单化,提高程序的可读性和执行速度。其中,for循环就是循环结构的一种,另外还有while循环和do-while循环语句。但是for循环是开发者明确知道了循环次数。
(for循环嵌套用我自己的大白话来说就是一个外圈的for程序里面一个套着一个小的for程序,如果在范围内就来回运行计算,超出了就跳出等待了,反正就是各种for的包含运行差不多的样子)
For循环格式如下:
for(赋初值;判断条件;赋值加减){
执行语句
}
2、for循环嵌套;
循环语句的嵌套
一个循环结构内可以含有另一个循环,称为循环嵌套,又称多重循环。常用的循环嵌套是二重循环,外层循环称为外循环,内层循环称为内循环。
双重循环的结构:
for (循环变量初始化;终止条件表达式;循环变量的增量)
{
语句或语句块;
for(循环变量初始化;终止条件表达式;循环变量的增量)
{
语句或语句块;
}
}
上面的结构共有两个for语句组成,它们之间的层次关系是一个套住另一个,我们把这种关系叫做嵌套关系,注意:这种层次关系是唯一的,不可改变的。如下图:
正常的5行5列:
左上角的直角三角形:
左下角的直角三角形:
右上角的直角三角形(这里多了一个for循环是因为前面需要空格,所有该循环负责的就是空出前面的空来。下面同理)
左下角的直角三角形:
三、抽象类与接口的区别;
抽象类和接口都用于实现抽象,可以声明抽象方法。 抽象类和接口都不能被实例化。但是在下面给出的抽象类和接口之间有许多区别。
简单地说,抽象类实现了部分抽象(0到100%),而接口实现了完全抽象(100%)。