热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

2022Java学习笔记十二(数组的遍历,数组遍历求和,数组排序,数组随机排名案例,数组猜数字游戏案例,数组求最大值案例,数据遍历求和案例)

2022Java学习笔记十二(数组的遍历,数组遍历求和,数组排序,数组随机排名案例,数组猜数字游戏案例

2022Java学习笔记十二(数组的遍历,数组遍历求和,数组排序,数组随机排名案例,数组猜数字游戏案例,数组求最大值案例,数据遍历求和案例)


遍历:就是逐个数据的访问

数组遍历的快捷键【数组名.fori+回车】

package com.zcl.traverse;public class Demo {public static void main(String[] args) {// 创建数组int age[] &#61; {1,2,3,4,5,68,54,652};// 遍历数组(快捷键 数组名.fori&#43;回车)for (int i &#61; 0; i < age.length; i&#43;&#43;) {System.out.println(age[i]);}}
}

数据遍历求和案例

需求&#xff1a;
某部门5位员工的销售额分别是&#xff1a;16,32,8,100,78计算部门的总销售额

package com.zcl.traverse;public class DemoTest {public static void main(String[] args) {// 数组元素求和int[] money &#61; {16,32,8,100,78};// 定义求和变量int sum &#61; 0;// 遍历数组中的元素for (int i &#61; 0; i < money.length; i&#43;&#43;) {sum&#43;&#61;money[i];}System.out.println("数组的和是&#xff1a;"&#43;sum);}
}

数组求最大值案例

定义一个数组&#xff0c;比较最大值

package com.zcl.traverse;public class tese {public static void main(String[] args) {// 求数组最大值// 定义静态测试数组int[] arr &#61; {12,445,4548,1242,15,-5};// 定义最大值变量,建议使用数组第一个元素作为参照int max &#61; arr[0];// 遍历数组的每一个元素&#xff0c;依次比较数据&#xff0c;大的替换for (int i &#61; 0; i < arr.length; i&#43;&#43;) {if(arr[i] > max){max&#61;arr[i];}}System.out.println("数组的最大值是&#xff1a;"&#43;max); // 4548}
}

数组猜数字游戏案例

package com.zcl.traverse;import java.util.Random;
import java.util.Scanner;public class test2 {public static void main(String[] args) {// 定义动态初始化数组int[] arr &#61; new int[5];// 随机生成五个1-20之间的数据存储动态数组中Random r &#61; new Random();for (int i &#61; 0; i < arr.length; i&#43;&#43;) {arr[i] &#61; r.nextInt(20)&#43;1;}Scanner sc &#61; new Scanner(System.in);OUT:// 使用死循环进行猜测while (true){System.out.println("请猜测1-20之间的数字&#xff1a;");int guessData &#61; sc.nextInt();// 遍历数组&#xff0c;看是否有猜中for (int i &#61; 0; i < arr.length; i&#43;&#43;) {if(arr[i] &#61;&#61; guessData){System.out.println("您猜中了缩影是&#xff1a;"&#43;i);break OUT;}}System.out.println("当前猜测数据不存在");}// 输出全部元素&#xff0c;让用户看到for (int i &#61; 0; i < arr.length; i&#43;&#43;) {System.out.print(arr[i]&#43;"\t");}}
}

数组随机排名案例
扑克牌游戏可以用来洗牌

package com.zcl.traverse;import java.util.Random;
import java.util.Scanner;public class test3 {public static void main(String[] args) {// 动态初始化数组int[] codes &#61; new int[5];// 2、定义循环5次&#xff0c;依次录入工号Scanner sc &#61; new Scanner(System.in);for (int i &#61; 0; i < codes.length; i&#43;&#43;) {// 正式录入工号System.out.println("请输入第"&#43;(i&#43;1)&#43;"个工号信息");int code &#61; sc.nextInt();// 存入数组中codes[i] &#61; code;}// 遍历数组中的元素&#xff0c;随机一个索引进行交换(重点)Random r &#61; new Random();for (int i &#61; 0; i < codes.length; i&#43;&#43;) {// 当前遍历的元素值codes[i]// 随机一个索引出来int index &#61; r.nextInt(codes.length);// 定义一个临时变量存储indexint temp &#61; codes[index];codes[index]&#61;codes[i];codes[i]&#61;temp;}// 4、遍历数组元素输出for (int i &#61; 0; i < codes.length; i&#43;&#43;) {System.out.print(codes[i]&#43;"\t");}}
}

数组的排序

就是对数组中的元素&#xff0c;进行升序&#xff08;由小到大&#xff09;或降序&#xff08;由大到小&#xff09;的操作

排序的技术&#xff1a;

  1. 冒泡排序
    每次从数组中找出最大值放在数组的后面去
    思想&#xff1a;
    从头开始两两比较&#xff0c;把较大的元素与较小的元素进行交换
    没轮把当前最大的一个元素存入到数组当前的末尾
    实现步骤&#xff1a;
    定义一个外部循环控制总共需要冒几轮【数组的长度-1】
    定义一个内部循环&#xff0c;控制每轮依次往后比较几个位置【数组长度-i-1】
    如果当前位置的元素值》后一个元素值&#xff0c;两者交换
  2. 选择排序
  3. 快速排序
  4. 插入排序

数据搜索的相关技术

  1. 二分搜索
  2. 分块搜索
  3. 哈希表查找

package com.zcl.traverse;public class test4 {public static void main(String[] args) {// 目标&#xff1a;数组冒泡排序// 1、定义数组&#xff0c;存储数据int[] arr &#61; {5,3,2,9};// 2、定义一个循环控制比较轮次for (int i &#61; 1; i <&#61; arr.length-1; i&#43;&#43;) {// i&#61;&#61;1 i&#61;&#61;2 i&#61;&#61;3// 次数3 2 1// 3、定义一个循环每轮比较次数&#xff0c;占位for (int j &#61; 0; j < arr.length-1; j&#43;&#43;) {// 判断j当前位置的元素&#xff0c;是否大于后一个位置&#xff0c;大的替换if(arr[j] > arr[j&#43;1]){int temp &#61; arr[j&#43;1];arr[j&#43;1]&#61;arr[j];arr[j]&#61;temp;}}}// 遍历数组内容输出for (int i &#61; 0; i < arr.length; i&#43;&#43;) {System.out.print(arr[i]&#43;"\t");}}
}


推荐阅读
  • Hadoop MapReduce 实战案例:手机流量使用统计分析
    本文通过一个具体的Hadoop MapReduce案例,详细介绍了如何利用MapReduce框架来统计和分析手机用户的流量使用情况,包括上行和下行流量的计算以及总流量的汇总。 ... [详细]
  • 本文旨在探讨Swift中的Closure与Objective-C中的Block之间的区别与联系,通过定义、使用方式以及外部变量捕获等方面的比较,帮助开发者更好地理解这两种机制的特点及应用场景。 ... [详细]
  • 1、编写一个Java程序在屏幕上输出“你好!”。programmenameHelloworld.javapublicclassHelloworld{publicst ... [详细]
  • Java连接MySQL数据库的方法及测试示例
    本文详细介绍了如何安装MySQL数据库,并通过Java编程语言实现与MySQL数据库的连接,包括环境搭建、数据库创建以及简单的查询操作。 ... [详细]
  • 设计一个算法,用于计算给定字符串中出现的不同ASCII字符数量。该任务将重点考察字符串处理、集合操作以及基础的输入输出技术。 ... [详细]
  • 本文基于Java官方文档进行了适当修改,旨在介绍如何实现一个能够同时处理多个客户端请求的服务端程序。在前文中,我们探讨了单客户端访问的服务端实现,而本篇将深入讲解多客户端环境下的服务端设计与实现。 ... [详细]
  • Java中提取字符串的最后一部分
    本文介绍了如何使用Java中的substring()和split()方法来提取字符串的最后一部分,特别是在处理包含特殊字符的路径时的方法与技巧。 ... [详细]
  • 本文探讨了如何使用Scrapy框架构建高效的数据采集系统,以及如何通过异步处理技术提升数据存储的效率。同时,文章还介绍了针对不同网站采用的不同采集策略。 ... [详细]
  • 本文探讨了在已知最终数组尺寸不会超过5000x10的情况下,如何利用预分配和调整大小的方法来优化Numpy数组的创建过程,以提高性能并减少内存消耗。 ... [详细]
  • 最近遇到了一个关于单链表的编程问题,这是来自福富公司的笔试题目。以往我通常使用C语言来解决这类问题,但这次决定尝试用Java来实现。该题目要求实现一个单链表,并完成特定的方法。 ... [详细]
  • Java多线程售票案例分析
    本文通过一个售票系统的实例,深入探讨了Java中的多线程技术及其在资源共享和并发控制中的应用。售票过程涉及查询、收款、找零和出票等多个步骤,其中对总票数的管理尤为关键。 ... [详细]
  • Go语言实现文件读取与终端输出
    本文介绍如何使用Go语言编写程序,通过命令行参数指定文件路径,读取文件内容并将其输出到控制台。代码示例中包含了错误处理和资源管理的最佳实践。 ... [详细]
  • 编码unicode解决了语言不通的问题.但是.unicode又有一个新问题.由于unicode是万国码.把所有国家的文字都编进去了.这就导致一个unicode占用的空间会很大.原来 ... [详细]
  • 探讨 try-finally 结构中 finally 块的执行情况
    本文深入分析了 Java 中 try-finally 结构的执行机制,特别是探讨了在不同情况下 finally 块是否会得到执行。 ... [详细]
  • D17:C#设计模式之十六观察者模式(Observer Pattern)【行为型】
    一、引言今天是2017年11月份的最后一天,也就是2017年11月30日,利用今天再写一个模式,争取下个月(也就是12月份& ... [详细]
author-avatar
双子座-海_358
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有