目录

  • 1 初识Java
    • 1.1 Java是什么?
    • 1.2 如何搭建Java开发环境?
    • 1.3 如何编写java应用程序?
    • 1.4 代码如何注释?
  • 2 Java语法基础
    • 2.1 章节导引-BMI体重计算器
    • 2.2 Java变量与数据类型
    • 2.3 Java运算符
    • 2.4 数据类型转换
    • 2.5 控制台输入输出
    • 2.6 Java数学
  • 3 选择结构
    • 3.1 章节导引-BMI健康报告
    • 3.2 简单选择结构
    • 3.3 复杂选择结构
    • 3.4 选择结构嵌套
  • 4 循环结构
    • 4.1 章节导引-猜数字游戏
    • 4.2 while循环
    • 4.3 do...while循环
    • 4.4 for循环
    • 4.5 循环语句跳转
    • 4.6 多重循环
    • 4.7 猜数字最终版
  • 5 数组
    • 5.1 章节导引-客户积分奖励
    • 5.2 一维数组
    • 5.3 最大值与排序
    • 5.4 foreach访问数组
    • 5.5 二维数组
    • 5.6 循环嵌套
    • 5.7 客户积分奖励
  • 6 字符串
    • 6.1 章节导引-登录注册
    • 6.2 String类
    • 6.3 StringBuffer类
  • 7 面向对象入门
    • 7.1 章节导引-客户积分奖励升级
    • 7.2 类和对象基础
    • 7.3 类的无参方法
    • 7.4 类的有参方法
最大值与排序

                                          一、求最大值

1、问题

从键盘输入本次Java考试五位学生的成绩,求考试成绩最高分,并记录是第几个学生。

2、解决思路


一开始假定第一个数最大,然后取出第二个数与这个最大值比较,如果比最大值大,则最大值就是第二个数,然后再比较第三个,第四个。


3、实现

我们使用max存储擂主初始值,也就是第一个元素为擂主,然后循环打擂,循环结束后max存的就是最高分。



巩固练习:

任务要求:

1、 定义一个整型数组,并赋初值 61, 23, 4, 74, 13, 148, 20

2、 定义变量分别保存最大值、最小值、累加值和平均值,并假设数组中的第一个元素既为最大值又为最小值

3、 使用 for 循环遍历数组中的元素,分别与假定的最大值和最小值比较。如果比假定的最大值要大,则替换当前的最大值;如果比假定的最小值要小,则替换当前的最小值

4、 循环执行过程中对数组中的元素进行累加求和

5、 循环结束根据累加值计算平均值,并打印输出相关内容

输出结果:

             

试一试:

找出给定的n个数中的最大值及其对应的最小下标(下标从0开始)。

输入格式:

输入在第一行中给出一个正整数n(1<n≤10)。第二行输入n个整数,用空格分开。

输出格式:

在一行中输出最大值及最大值的最小下标,中间用一个空格分开。

输入样例:

6

2 8 10 1 9 10

输出样例:

10 2

                                   

                                          二、 使用 Arrays 类进行排序

Arrays 类是 Java 中提供的一个工具类,在 java.util 包中。该类中包含了一些方法用来直接操作数组,比如可直接实现数组的排序、搜索等。

Arrays 中常用的方法:

1、排序

语法:  Arrays.sort(数组名);

可以使用 sort( ) 方法实现对数组的排序,只要将数组名放在 sort( ) 方法的括号中,就可以完成对该数组的排序(按升序排列),如:

运行结果:



三、其他排序算法

1、选择排序

进行选择排序就是把所有的数据扫描一遍,找到其中最小的数据,让他与最左边的数据(0号位置)进行交换(如果最左边的数据就是最低的,那么不进行交换)。这样最左边的数据就是有序的状态,不需要再次交换位置了。

(1)分析

第一轮排序:


第二轮排序:


第三轮排序:


(2)动画演示

(3)代码实现


2、插入排序

有一组学员的成绩{99,82,63,60, 85},将它们按升序排列。要增加一个学员的成绩,将它插入成绩序列,并保持升序。

(1)分析


(2)动画演示

(3)实现



3、快速插入排序


4、冒泡排序


四、将数组转换为字符串

语法:  Arrays.toString(数组名);

可以使用 toString( ) 方法将一个数组转换成字符串,该方法按顺序把多个数组元素连接在一起,多个元素之间使用逗号和空格隔开,如:

运行结果为:  

输出数组nums中的元素:[25,7,126,53,14,86]


试一试:

(1)在程序中定义了一个数组 hobbies,请在黑体加粗的“补充代码”处将代码填写完整,实现使用 Arrays 类对数组进行排序并转换输出。

//导入Arrays类

补充代码

public class HelloWorld {

    public static void main(String[] args) {

// 定义一个字符串数组

String[] hobbies = { "sports", "game", "movie" };        

// 使用Arrays类的sort()方法对数组进行排序

补充代码

// 使用Arrays类的toString()方法将数组转换为字符串并输出

System.out.println(     补充代码       );

}

}

运行结果为: [ game , movie , sports ]


(2)本题要求编写程序,将一个给定的整数插到原本有序的整数序列中,使结果序列仍然有序。

输入格式:

输入在第一行先给出非负整数N(<10);第二行给出N个从小到大排好顺序的整数;第三行给出一个整数X。

输出格式:

在一行内输出将X插入后仍然从小到大有序的整数序列,每个数字后面有一个空格。

输入样例:

5

1 2 4 5 7

3

输出样例:

1 2 3 4 5 7