例1:求最高分与最低分。
求最大值与最小值的思想是:就像是打擂台那样,最开始擂台上站着最厉害/最小的一个叫max/min,然后其他人都来跟这个max/min比较打擂台,输了的那个就*,所以擂台上能够始终保持最大/最小的那个数。
步骤:首先把数组的第一个数赋值给变量max和min,分别表示最大值和最小值,
再依次将数组的其他数值与当前的max和min进行比较,如果比当前的大/小,就替换掉
知道数组最后一个值比较完,最后输出最大值和最小值。
public class Example{ public static void main(String[] args) { int score[] = { 67, 89, 87, 69, 90, 100, 75, 90 }; // 初始化数组 int max = 0; // 定义变量保存到最大值 int min = 0; // 定义变量保存到最小值 max = min = score[0]; // 把第1个元素的内容赋值给max和min for (int x = 0; x < score.length; x++) { // 循环求岀最大和最小 if (score[x] > max) { // 依次判断后续元素是否比max大 max = score[x]; // 如果大则修改max内容 } if (score[x] < min) { // 依次判断后续的元素是否比min小 min = score[x]; // 如果小,则修改min内容 } } System.out.println("最高成绩:" + max); // 输出最大值 System.out.println("最低成绩:" + min); // 输出最小值 } }
例2:统计商品信息。
在一个货架上有 5 件商品,编写程序,在输入商品价格之后输出最高价格、总价格和平均价格。
首先要创建一个包含 5 个空元素的价格数组,然后使用 for 循环使用户从控制台录入商品的价格,并将价格保存至数组中,再使用一个 for 循环来遍历该数组,求出最高价格和总价格。最后用总价格除以商品数量算出平均价格。
接收数值:
for (int i = 0; i < 5; i++) { prices[i] = input.nextInt(); // 循环向数组中元素赋值 }
求和思想:for循环遍历数组每一个元素并将其相加,结果保存在sum中。
求平均值思想:平均值=总和/数组中的元素个数(可以用数组名.length表示)
public static void main(String[] args) { // 声明数组 int[] prices = new int[5]; int maxPrice = 0, avgPrice = 0, sumPrice = 0; Scanner input = new Scanner(System.in); System.out.println("请输入5件商品的价格:"); for (int i = 0; i < 5; i++) { prices[i] = input.nextInt(); // 循环向数组中元素赋值 } // 计算价格最大值 maxPrice = prices[0]; // 假设最大值为第一个元素 for (int index = 1; index < prices.length; index++) { sumPrice += prices[index]; // 汇总价格 if (prices[index] > maxPrice) { maxPrice = prices[index]; } } // 平均价格=总价格/商品数量 avgPrice = sumPrice / prices.length; System.out.println("本货架上商品的总价格为:" + sumPrice + " 平均价格为:" + avgPrice + " 最高价格为:" + maxPrice); }
该程序运行后的结果如下所示。
请输入5件商品的价格: 88 64 44 62 79 本货架上商品的总价格为:249 平均价格为:49 最高价格为:88