Java基础知识-函数与数组

函数定义格式:
修饰符 返回值类型 函数名(形参列表){
需要被封装的功能代码;
}
函数的特点:

  • 如果一个函数没有返回值,返回值类型必须是void表示。

函数重载

定义:在一个类中出现两个或以上的同名函数。
作用:应对不同个数或者不同类型的参数。
要求:

  • 函数名字一样。
  • 形参列表不一样(个数或者类型不同)。
  • 与返回值类型无关。

数组

定义:同一种数据类型数据的集合容器。
定义格式:
数据类型[] 变量名 = new 数据类型[长度];
数组长度属性: length
数组中常见的问题:

  • NullPointerException 空指针异常
    原因:引用类型变量没有指向任何对象,却访问了对象的属性或调用了对象方法。
  • ArrayIndexOutOfBoundsException 索引值越界
    原因:访问了不存在的索引值。
    数组初始化类型:
  • 动态初始化
    数据类型[] 变量名 = new 数据类型[];
  • 静态初始化
    数据类型[] 变量名 = { 元素1, 元素2,....};
    两种排序方法:
  • 选择排序(直接排序)
    思路:使用一个元素和其他的元素挨个比较一次,符合条件交换位置。
  • 冒泡排序
    思路:使用相邻的两个元素挨个比较一次,符合条件交换位置。
    二分查找法:
    思路:定义三个变量分别记录最大索引值、最小索引值、中间索引值,每次都使用中间的索引值的元素与目标元素比较一次,如果不是所要查找的元素,那么缩小查找范围。
    数组的工具类:
  • 排序(Arrays.sort(数组名))
  • 数组的元素 Arrays.toString(数组名)
  • 查找元素在数组中的位置 Arrays.binarySearch(数组名,值)
    注意:能找到返回index,找不到返回一个负数。

内存空间-栈内存

特点:存储的都是局部变量,变量一旦出了自己的作用域,拿上会从内存中消失,释放内存空间。

内存空间-堆内存

特点:存储的都是对象数据,对象一旦被使用完,并不会马上从内存中消失,而是等
待垃圾回收器不定时把垃圾对象回收,这时候该对象才会消失,释放内存空间。
注意:凡是new关键字实例化的对象,都会在堆内存中开辟一个新的空间,创建一个
新的对象

你可能感兴趣的:(Java基础知识-函数与数组)