一、函数

定义:函数就是定义在类中的具有特定功能的一段独立小程序。函数也称为方法。

好处:可以提高代码的复用性,拓展性,简化书写。

特点:重载、复写

重载:当参数列表不同时,同名函数间可以构成重载。后期被调用时,可以根据传入参数的不同达到使用不同方法的功能。

复写:当子类继承了父类的成员函数并需要对其函数功能进行修改时,此过程就叫复写。

java中的函数的定义格式: 
 修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数1,„){   执行语句; 
  return 返回值;  } 
当函数没有具体的返回值时,返回的返回值类型用void关键字表示。 
如果函数的返回值类型是void时,return语句可以省略不写的,系统会帮你自动加上。 return的作用:结束函数。结束功能。

如何定义一个函数? 
 函数其实就是一个功能,定义函数就是实现功能,通过两个明确来完成:  

1)、明确该功能的运算完的结果,其实是在明确这个函数的返回值类型。 
2)、在实现该功能的过程中是否有未知内容参与了运算,其实就是在明确这个函数的参数列表(参数类型&参数个数)。

主函数:主函数是程序的入口,它被JVM调用。主函数的格式是固定的:public static void main(String[] args){}


二、数组

数组概述:

1、数组可以看成是多个相同数据类型数据的组合,对这些数据的统一管理。

2、数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。

3、数组中的元素可以是任何类型,包括基本类型和引用类型。


一维数组的声明:

1)、元素类型[] 变量名 = new 元素类型[元素的个数];

2)、元素类型 变量名[]

3)、元素类型[] 变量名 = {元素1,元素2...};

注:1、数组是引用数据类型,是存放在堆内存中的。所以数组对应的是一个引用地址,如果直接打印数组,得到的是其对应的地址值(哈希值)。

        2、数组中元素是有初始值的,int型数组中元素的初始值为0,boolean型数组中元素的初始值为false。

二分法查找数组中的元素:


public class BubbleTest{
  public static int binary(int[] array, int value) { 
    int low = 0; 
    int high = array.length - 1;
    while(low <= high) {
      int middle = (low + high);
      if(value == array[middle]){ 
        return middle; 
      }
      if(value > array[middle]) {
        low = middle + 1; 
      }
      if(value < array[middle]) {
        high = middle - 1; 
      }
    }
    return -1; 
  }
  public static void main(String[] args){ 
    int[] a = {1, 2, 3, 4, 5, 6, 7, 8, 9}; 
    int value = binary(a, 9);
    System.out.println(value); 
  }
}