第2章 Java编程基础_补充案例(7)

2019-06-11 12:56

博学谷——让IT教学更简单,让IT学习更有效

图2-22 运行结果

三、案例总结

1、方法的重载是在一个程序中定义多个名称相同的方法,但是参数的类型或个数必须不同。

2、值得注意的是,方法的重载与返回值类型无关,它只有两个条件,一是方法名相同,二是参数个数或参数类型不相同。

案例2-20 一维数组的定义 一、案例描述

1、 考核知识点

编号:00102024 名称:数组的定义

2、 练习目标

? 掌握一维数组的定义

3、 需求分析

数组是指一组数据的集合,数组中的每个数据被称作元素。在数组中可以存放任意类型的

元素,但同一个数组里存放的元素类型必须一致。请定义一个数组,将序列{0,1,2,3,4}赋值给数组,并写一个方法用来访问数据的每一个元素。

4、 设计思路(实现原理)

1) 定义一个数组,在初始化数组时有一种方式叫做静态初始化,就是在定义数组的同时就为数

组的每个元素赋值。可以在定义数组时将序列{0,1,2,3,4}赋值给数组。

2) 定义一个方法输出数组的元素,可以用for循环语句依次输出数组的元素,各元素用“,”间

隔可以更清楚的输出元素。

3) 在最后一个元素输出时,后面就不需要加“,”了,所以循环到length-1时不打印“,”。

二、案例实现

定义Example20类,代码如下所示:

class Example20 {

public static void main(String[] args) { }

public static void printArr(int[] arr){

System.out.print(\

for(int x = 0 ; x < arr.length ; x++){

31

int[] arr = {0,1,2,3,4}; printArr(arr);

博学谷——让IT教学更简单,让IT学习更有效

}

}

if(x != arr.length - 1) }

System.out.println(\

System.out.print(arr[x]+\ System.out.print(arr[x]); else

运行结果如图2-23所示。

图2-23 运行结果

三、案例总结

1、每个数组的索引都有一个范围,即0~length-1。在访问数组的元素时,索引不能超出这个范围,否则程序会报数组越界异常ArrayIndexOutOfBoundsException。所谓异常指程序中出现的错误,它会报告出错的异常类型、出错的行号以及出错的原因。

2、在使用变量引用一个数组时,变量必须指向一个有效的数组对象,如果该变量的值为null,则意味着没有指向任何数组,此时通过该变量访问数组的元素会出现空指针异常NullPointerException。

案例2-21 数组最值 一、案例描述

1、 考核知识点

编号:00102026

名称:数组的常见操作-数组的最值

2、 练习目标

? 掌握如何获取一维数组的最值

3、 需求分析

在操作数组时,经常需要获取数组中元素的最值。定义一个数组,并获取该数组中值最小

的元素。

4、 设计思路(实现原理)

1) 定义一个数组。

2) 定义一个方法,用来获取最小值。该方法应返回一个int型的数值,参数为数组类型。在方法

中,定义一个临时变量min,用于记住数组的最小值。首先假设数组中第一个元素arr[0]为最小值,然后使用for循环对数组进行遍历,在遍历的过程中只要遇到比min值还小的元素,就将该元素赋值给min。这样一来,变量min就能够在循环结束时记住数组中的最小值。 3) 在main方法中调用该方法,将定义的数组作为参数传给方法,获取该数组的最小值。

32

博学谷——让IT教学更简单,让IT学习更有效

二、案例实现

定义Example22类,代码如下所示:

public class Example22 { }

public static void main(String[] args) { }

static int getMin (int[] arr) { }

int min = arr[0];

for (int x = 1; x < arr.length; x++) { }

return min ;

if (arr[x] < min ) { }

min= arr[x];

int[] arr = { 4, 1, 6, 3, 9, 8 }; int min = getMin (arr); System.out.println(\

运行结果如图2-24所示。

图2-24 运行结果

三、案例总结

getMin()方法用于求数组中的最小值,该方法中定义了一个临时变量min,用于记住数组的最小值。需要注意的是,在for循环中的变量i是从1开始的,这样写的原因是程序已经假设第一个元素为最小值,for循环中只需要从第二个元素开始比较,从而提高程序的运行效率。

案例2-22 数组排序 一、案例描述

1、 考核知识点

编号:00102027

名称:数组的常见操作-数组的排序

33

博学谷——让IT教学更简单,让IT学习更有效

2、 练习目标

? 掌握一维数组中元素的排序

3、 需求分析

在操作数组时,经常需要对数组中元素进行排序。常用的排序算法有选择排序,冒泡排序等。

请定义一个数组,用选择排序算法将数组中的元素进行从小到大的排序。

4、 设计思路(实现原理)

选择排序法的原理是:首先找到数组中的最值,将最小值(最大值)的下标与第一个元素 的下标交换,再在剩下的元素中找最小值(最大值)的下标与第二个元素的下标交换,以此类推,完成所有元素的排序。

对数组元素进行选择排序的设计思路是:

1) 定义排序方法,在方法中,用for循环嵌套实现排序。第一层循环是从数组的第一个元 素开始循环。第二层循环用于与第一层循环中的元素比较找出最值,并将最小值的下标跟第一个元素的下标进行互换。

2) 为了方便观察排序结果,将案例2-21中的printArr()方法复制到类中,输出排序前和排 序后的数组元素。

二、案例实现

定义Example23类,代码如下所示:

class Example23 {

public static void main(String[] args) { } {

for(int x=0; x

for(int y=x+1; y

34

if(arr[y]

int temp = arr[x]; arr[x] = arr[y]; arr[y] = temp;

int[] arr = {23,87,45,36,56,17}; System.out.println(\排序前\printArray(arr); selectSort(arr); printArray(arr);

System.out.println(\排序后\

public static void selectSort(int[] arr)

博学谷——让IT教学更简单,让IT学习更有效

}

} { }

System.out.print(\

for(int x=0; x

System.out.println(\

if(x==(arr.length-1)) { } else { }

System.out.print(arr[x]+\

System.out.print(arr[x]);

}

public static void printArray(int[] arr)

运行结果如图2-25所示。

图2-25 运行结果

三、案例总结

常用的排序算法除了选择排序外,还有冒泡排序。在冒泡排序的过程中,不断地比较数组中相邻的两个元素,较小者向上浮,较大者往下沉,整个过程和水中气泡上升的原理相似。

接下来通过几个步骤来具体分析一下冒泡排序的整个过程,具体如下:

1、 从第一个元素开始,将相邻的两个元素依次进行比较,直到最后两个元素完成比较。如果前一个 元素比后一个元素大,则交换它们的位置。整个过程完成后,数组中最后一个元素自然就是最大值,这样也就完成了第一轮比较。

2、 除了最后一个元素,将剩余的元素继续进行两两比较,过程与第一步相似,这样就可以将数组中 第二大的数放在了倒数第二个位置。

3、 以此类推,持续对越来越少的元素重复上面的步骤,直到没有任何一对元素需要比较为止。

35


第2章 Java编程基础_补充案例(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:新高考生物一轮复习第十单元生物技术实践第35讲生物技术在食品加

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: