2.9函数
2.9.1函数的定义
函数就是定义在类中的具有特定功能的一段独立小程序,或者称为方法
2.9.2函数的格式
修饰符 返回值类型 函数名(参数类型 形式类型…)
{
执行语句;
return 返回值;
}
特殊情况:
功能没有具体的返回值。
return后面直接用分号结束
返回值类型用void表示
return;也可以省略不写
2.9.3函数的特点
定义函数可以将代码封装
便于对该功能进行复用
函数只有被调用才会被执行
函数的出现提高了代码的复用性
!函数中只能调用函数,函数中不能定义函数
!定义函数时,函数的结果应该返回给调用者,交由调用者处理
2.9.4函数的重载
在同一个类中,允许存在一个以上的同名函数,只要他们的参数个数或者参数类型不同
与返回值类型无关,只看参数列表
2.10数组
数组的概念:同一种类型数据的集合。数组就是一个容器
数组的格式:元素类型[] 数组名 = new 元素类型[元素个数或数组长度]
元素类型[] 数组名 = new 元素类型[]{元素,元素…}
元素类型[] 数组名={元素,元素…}
JVM内存的划分:
1.寄存器
2.本地方法区
3.方法区
4.栈内存
存储的都是局部变量,变量所属的作用域一旦结束,该变量就自动释放
5.堆内存
存储是数组和对象(凡是new建立的实体)
特点:1.每一个实体都有首地址值
2.堆内存中的每一个变量都有默认初始化值
(char:’\u0000’)
3.垃圾回收机制
数组的遍历:
for(int x=0;x<arr.length;x++)
{
System.out.println(arr[x]);
}
数组的最值:
int max=arr[0];
for (int x=0;x<xarr.length;x++)
{
if(arr[x]>max)
max=arr[x];
}
数组的选择排序(Arrays.sort)
for(int x=0;x<arr.length-1;x++)
{
for(int y=x+1;y<arr.length;y++)
{
if(arr[x]>arr[y])
{
int temp=arr[x];
arr[x]=arr[y];
arr[y]=temp;
}
}
}
选排的性能优化
数组的冒泡排序
for(int x=0;x<arr.length-1;x++)
{
for(int y=0;y<arrr.length-1-x;y++)
{
if(arr[y]>arr[y+1])
{
int temp=arr[y];
arr[y]=arr[y+1];
arr[y+1]=temp;
}
}
}
二分查找法
int max,min,mid;
min=0;
max=arr.length-1;
whlie(min<=max)
{
mid=(max+min)/2;
if(key>arr[mid])
min=mid+1;
else if(key<arr[mid])
max=mid-1;
else
return mid;
}
return -1;
Arrays.binarySearch()如果存在返回的具体的角标位置,不存在返回的是 -插入点-1
查表法:如果数据出现了对应关系,且对应关系的乙方是有序的数字编号,并作为角标使用,就可以考虑使用数组