。知识点大纲
- 一维数组的创建
- 一维数组的赋值
- 一维数组的访问
- 数组的排序
- 方法的定义
- 方法的使用
- 方法的重载
- 可变参数
数组
数组可以理解为一个巨大的“盒子”,里面可以按照顺序存放多个类型相同的数据,比如可以定义int型的数组score存储4名学生的成绩。
- 一维数组的创建
语法:
数据类型[] 数组名
或
数据类型 数组名[]
2. 一维数组的赋值
int socres[] = {78, 91, 81, 60};
3. 一维数组的访问
scores[0] = 90;
System.out.println(score[1]);
4. 数组的排序
冒泡排序
内容:
比较相邻的元素,如果第一个比第二个打,就交换它们两个。
对每一对相邻的元素作同样的工作,从开始第一对到结尾最后一对,在这一点,最后的元素因该是最大的数。(这里比较了length-1次)
针对所有的元素重复上一个步骤,除了最后一个。
持续每次对越来越少的元素重复上面步骤,知道没有任何一对数字需要比较
代码展示:
int array[]={21,22,36,69,89};
for(int i=0;i<array.length;i++)
for(int j=0;j<=array.length-1-i;j++){
if(array[j]>array[j+1]){
int temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
选择排序:
第1趟,在待排序记录r[1]~r[n]中选出最小的记录,将它与r[1]交换;
第2趟,在待排序记录r[2]~r[n]中选出最小的记录,将它与r[2]交换;
以此类推,第i趟在待排序记录r[i]~r[n]中选出最小的记录,将它与r[i]交换,使有序序列不断增长直到全部排序完毕。
int arr[]={0,1,2,3,4,5,6};
for(int i=0;i<arr.length;i++){
int minIndex=0;
for(int j=0;j<arr.length;j++){
if(arr[minIndex]>arr[j]){
minIndex=j;
}
if(minIndex!=i){
int temp=arr[i];
arr[i]=arr[minIndex];
arr[minIndex]=temp;
}
}
for(int x: arr){
System.out.print(x);
}
各种排序后解决问题总结:
1 将复杂问题分解为若干个简单问题
2 代码实现,如果有bug,进行debug测试
3 优化代码
5. 一维数组的查找
顺序查找
折半查找
折半查找的优点是比较次数少,查找速度快,平均性能好。
缺点是要求待查表为有续表,且插入删除困难,因此,折半方法 适用于不经常变动而查找频繁的有序列表。
方法
方法的基本定义
所谓方法,就是解决一类问题的代码有续组合,是以哦个功能模块。
方法的使用
语法
返回值类型 方法名(参数列表){
方法体
}
返回值类型:方法返回值的类型,如果方法不返回任何值,则返回值类型为void。如果方法具有返回值,则需要指明返回值类型,并且在方法体中使用return语句返回值。
方法名:定义方法的名字,必须使用合法的标识符。
方法的参数
参数列表:传递给方法的参数列表,参数可以有多个,多个参数间以逗号隔开,每个参数由参数类型和参数名组成,以空格隔开。
方法体:代码有序组合,实现特定的操作。
根据方法是否带参,是否带返回值,可将方法分为四类:
无参无返回值方法
无参带返回值方法
带参无返回值方法
带参带返回值方法
无参无返回值的方法
如果方法不包含参数,且没有返回值,我们称为无参无返回值的方法
方法的使用分两步
第一步,定义方法
如:
public void show(){
System.out.println(“welcome to farsight”);
}
第二步,调用方法
当需要调用方法执行某个操作时,可以先创建对象,然后通过 对象名.方法名(); 来实现(关于类和对象的概念在后面章节中会详细讲解,先熟悉语法,不要着急哦~)
方法的重载
方法名一样,参数列表不一样。
可变参数
从java1.5板本后,java新增加了类似C语言的可变参数语法。
可变量参数的形式为 : “类型 … 参数名”
可变参数在方法中当作数组处理
可变参数传值有四种
不传参
1个到n个参数
传null值
传数组