函数
1.函数必须定义在类中,一段具有的代码。
2.函数格式
修饰符 返回值类型 函数名称(形式参数类型 形式参数名称,...){
//执行依据...
return xx ; //从函数中返回.
}
3.函数特点
1.封装功能
2.重用
3.调用才执行.
4.无返回值的函数,使用void
5.函数不能嵌套
4.函数递归
fabric(5){...}
5 * 4!
5 * 4 * 3!
5 * 4 * 3 * 2!
5 * 4 * 3 * 2 * 1!
5 * 4 * 3 * 2 * 1
//recursive:递归。
5.函数重载(overload)
函数名相同,只能依靠参数(跟参数名无关,个数/类型/顺序)的不同实现重载。
数组
一组数。
类型相同,容器。
下标从0开始,以"0"为基址。
定位元素快。查询快。
格式:
类型[] name = new 类型[个数]; //初始化数组.
数值类型的数组默认值都是0.
数组和对象都在堆中分配内存。
int[] arr = null ; //没有分配空间,访问时会抛出NullPointerException.
冒泡排序
//冒泡排序第一种, 大数下沉。
public static void bubble(int[] arr) {
//定义一个中间量交换两个位置数。
int temp=0;
for (int i = 0; i < arr.length-1; i++) {
for (int j = 0; j < arr.length-1-i; j++) {
//每一次循环的第一个数
temp=arr[j];
if (arr[j]>arr[j+1]) {
//条件符合,就将大的数放到后面的位置
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
System.out.println("排序后的数依次为:");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+"\t");
}
}
//冒泡排序第二种,小数上浮。
public static void bubble2(int[] arr ) {
//定义中间变量
int temp =0;
for (int i = 0; i < arr.length-1; i++) {
for (int j =arr.length-1 ; j >i; j--) {
//每次循环左后一个数
temp=arr[j];
if (arr[j]<arr[j-1]) {
//条件符合,就将小数放到前面。
arr[j]=arr[j-1];
arr[j-1]=temp;
}
}
}
System.out.println("排序后的数依次为:");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+"\t");
}
}
作业
1.打印如图的三角形.
* *
* * * *
* * * *
* * *
* * * *
* * * *
* *
2.冒泡排序的两种方式
大数下沉
小数上浮
3.选择排序
4.附加题
实现有序数组中元素的折半(二分法)查找