Java中数组的介绍与实战
目录1.初识数组2.数组的简单应用1】求和2】取最小值、最大值3】求平均值3.数组的进阶实战注册登录1.0模拟计算器1.初识数组数组是最基础、最底层的线性数据结构其可以存储多个同类型的数据、变量。数据结构是数据的存储、组织、管理方式格式1静态初始化数据类型[] 数组名 new 数据类型[长度];如User[] users new User[5];2动态初始化数据类型[] 数组名 {元素1, 元素2, 元素3, 元素4, 元素5};如String[] strs {张三, 李四, 王五};长度数组名.length创建好之后长度不能变。下标数组中第一个元素的下标为0后面的依次递增1最大下标是数组名.length-1。下标不能超过0—数组名.length-1的范围。访问元素使用数组名[下标]语法访问数组元素。例如int[] arr new int[5]; arr[0] 1; arr[1] 2; int n arr[1];2.数组的简单应用1】求和public class array { static void main() { //求和 int sum 0; int[] arr1 {1, 2, 3, 4, 5}; for (int i 0; i arr1.length; i) { int n arr1[i]; sum n; } System.out.println(sum); } }2】取最小值、最大值public class array { static void main() { //找最小值 int[] arr2 {1,5,3,6,-3,5,9}; int min arr2[0]; for (int i 0;i arr2.length; i) { if(arr2[i]min){ min arr2[i]; } } System.out.println(min); //找最大值 int[] arr3 {2,32,5,6,5,7,66}; int max arr3[0]; for (int i 0;i arr3.length;i) { int n arr3[i]; if(maxn){ max n; } } System.out.println(max); } }3】求平均值public class array { static void main() { //求平均值 int[] arr4 {2,3,6,4,7,5,55}; int sum2 0; int a arr4.length; for(int i 0;iarr4.length;i){ int n arr4[i]; sum2 n; } double p sum2/a; System.out.println(p); } }3.数组的进阶实战注册登录1.0定义一个用户类 在监听器中使用User类作为类型定义一个数组在点击登录、注册时利用数组完成功能·LoginUI4类import javax.swing.*; import java.awt.*; public class LoginUI4 { public void showUI(){ //1.创立一个窗体对象 JFrame JFrame jf new JFrame(); //2..设置窗体的属性: 标题、大小、位置、关闭方式(DefaultCloseOperation)、可见性(Visible)、布局(FlowLayout 流式布局) jf.setTitle(登录界面 V1.0 作者xzn070311 ); jf.setSize(400,300); jf.setLocation(500,100); jf.setDefaultCloseOperation(3); FlowLayout flo new FlowLayout(); jf.setLayout(flo); //3.创立标签对象、按钮对象、文本框对象、文本输入框对象、密码输入框对象 JLabel JButton JTextField JPasswordField JLabel qq new JLabel(QQ); JLabel namelb new JLabel(账号); JLabel pwdlb new JLabel(密码); JButton bt1 new JButton(登录); JButton bt2 new JButton(注册); //创建一个监听器类对象与按钮绑定 LoginListen4 ll4 new LoginListen4(); bt1.addActionListener(ll4); bt2.addActionListener(ll4); JTextField tf new JTextField(35); JPasswordField pf new JPasswordField(35); ll4.jtf tf;//将tf存储的输入框对象引用地址拷贝一份给监听器对象中的jtf,那么监听器对象中的jtf也可以调用输入框的方法 ll4.jpf pf; //4.将3中的对象添加到窗体对象中 jf.add(qq); jf.add(namelb); jf.add(tf); jf.add(pwdlb); jf.add(pf); jf.add(bt1); jf.add(bt2); jf.setVisible(true); } static void main() { LoginUI4 lui new LoginUI4(); lui.showUI(); } }·LoginListen4类import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class LoginListen4 implements ActionListener { JTextField jtf; JPasswordField jpf; int size; //存储用户的数组 User[] users new User[10]; // 构造方法初始化内置默认账号 public LoginListen4() { User user1 new User(); user1.name xzn070311; user1.pswd 123456; users[0] user1; size 1; // 初始已有1位用户 } Override public void actionPerformed (ActionEvent e){ // 获取输入并去除首尾空格 String text jtf.getText().trim(); String pswd jpf.getText().trim(); String btAc e.getActionCommand();//获取各个按钮的指令默认指令为文本值 System.out.println(按钮指令 btAc);//写给自己看的操作结果 // 统一判空账号或密码为空直接终止 if (text.isEmpty() || pswd.isEmpty()) { System.out.println(账号与密码不能为空); return; } if (btAc.equals(注册)) { boolean a true; for (int i 0; i size; i) { if (users[i].name.equals(text)) { a false; break; } } if (a true) { User user new User(); user.name text; user.pswd pswd; users[size] user; size; System.out.println(您是本站第 size 位用户); } else { System.out.println(您输入的账号已被注册); } } else if (btAc.equals(登录)) { int count 0; for (int i 0; i size; i) { if (text.equals(users[i].name)) { if (pswd.equals(users[i].pswd)) { System.out.println(登录成功欢迎来到本站); } else { System.out.println(密码不正确); } count; break; } } if (count 0) { System.out.println(用户不存在请先注册~); } } } }·User类public class User { String name; String pswd; }运行结果模拟计算器1 支持所有的运算符 - * / %运算2 支持小数运算3 支持 归0、退格 操作·CalculatorUI类package xzn0718; import javax.swing.*; import java.awt.*; public class CalculatorUI { public static void main(String[]args){ CalculatorUI clui new CalculatorUI(); clui.showUI(); } public void showUI(){ JFrame jf new JFrame(); jf.setTitle(计算器); jf.setSize(400,380); jf.setDefaultCloseOperation(3); FlowLayout fl new FlowLayout(); jf.setLayout(fl); jf.setLocationRelativeTo(null);//居中显示 Dimension jtfdms new Dimension(370,50);//设置尺寸 JTextField jtf new JTextField(); CalculatorListener cl new CalculatorListener(); cl.jtf jtf;//将jtf存储的输入框对象引用地址拷贝一份给监听器对象中的jtf,那么监听器对象中的jtf也可以调用输入框的方法 jtf.setPreferredSize(jtfdms);//建议尺寸 Font font new Font(微软雅黑, Font.PLAIN, 20);//设置字体 jtf.setFont(font); jf.add(jtf); String[] jbtext { %, x², —, ÷, 7, 8, 9, *, 4, 5, 6, -, 1, 2, 3, , 0, ., C, , }; for(int i0;ijbtext.length;i){ JButton jb new JButton(); jb.addActionListener(cl); jb.setText(jbtext[i]); Dimension jbdms new Dimension(88,50); Font font1 new Font(微软雅黑, Font.PLAIN, 20); jb.setFont(font1); jb.setPreferredSize(jbdms); Color jbCr new Color(222, 243, 9); jb.setBackground(jbCr); jf.add(jb); } jf.setResizable(false);//不可调整窗口尺寸 jf.setVisible(true); } }·CalculatorListener类package xzn0718; import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class CalculatorListener implements ActionListener { JTextField jtf; String oldStr; // 保存计算过程中的数据 double oldNum;// 特定操作前的数字 String op ;// 运算符 Override public void actionPerformed(ActionEvent e) { //获取按钮的文本 String btText e.getActionCommand(); //判断文本的类型 String btType checkBtType(btText); if(btType.equals(运算符)){ oldStr jtf.getText();//获取运算符之前的数字 oldNum Double.parseDouble(oldStr);//将字符串类型转化成整数类型 jtf.setText();//清空输入框 op btText;//保存运算符 }else if(btType.equals(数字)){ oldStr jtf.getText();//获取输入的数字 jtf.setText(oldStr btText);//拼接之前与当前的数字 }else if(btType.equals(等于)){ String newStr jtf.getText();//获取运算符后等于号前的数字 double newdb Double.parseDouble(newStr); double result; //讨论不同的运算符的运算结果 if(op.equals()){ result oldNum newdb; }else if(op.equals(-)){ result oldNum - newdb; }else if(op.equals(*)){ result oldNum * newdb; }else if(op.equals(÷)){ result oldNum / newdb; }else{ result oldNum % newdb; } jtf.setText(result); }else if(btType.equals(小数点)){ oldStr jtf.getText();//获取小数点前的数字 if(!oldStr.contains(.)) { //防止小数点重复拼接 jtf.setText(oldStr .);//拼接数字与小数点 } }else if(btType.equals(退格)){ oldStr jtf.getText();//获取操作前的数据 if(!oldStr.isEmpty()) {//防止无数据时点击按钮报错 String newStr oldStr.substring(0, oldStr.length() - 1); jtf.setText(newStr);//删掉最后一个数据 } }else if(btType.equals(清空)){ jtf.setText();//清空输入框 }else{ oldStr jtf.getText();//获取操作前的数字 oldNum Double.parseDouble(oldStr); //将数字乘以二次方 double result; result oldNum*oldNum; jtf.setText(result); } } //判断文本类型的方法 public String checkBtType(String BtText){ if(BtText.equals()||BtText.equals(-)||BtText.equals(*)||BtText.equals(÷)||BtText.equals(%)){ return 运算符; }else if(BtText.equals()){ return 等于; }else if(BtText.equals(—)){ return 退格; }else if(BtText.equals(C)){ return 清空; }else if(BtText.equals(.)){ return 小数点; }else if(BtText.equals(x²)){ return 平方; }else{ return 数字; } } }运行结果

相关新闻

分享一套锋哥原创的基于PyTorch的动物图像识别系统(深度学习+PyQt6+ResNet18+ImageNet+迁移学习)

分享一套锋哥原创的基于PyTorch的动物图像识别系统(深度学习+PyQt6+ResNet18+ImageNet+迁移学习)

大家好,我是Java1234_小锋老师,分享一套锋哥原创的基于PyTorch的动物图像识别系统(深度学习PyQt6ResNet18ImageNet迁移学习) 项目介绍 随着深度学习技术的快速发展,计算机视觉在目标分类、目标检测和图像理解等领域取得了显著进展。动物图像…

2026/7/22 19:47:14 阅读更多 →
嵌入式EMIF接口实战:SDRAM与异步存储器配置与调试全解析

嵌入式EMIF接口实战:SDRAM与异步存储器配置与调试全解析

1. 项目概述在嵌入式系统开发中,处理器与外部存储器的“对话”效率,直接决定了整个系统的性能上限。无论是需要高速数据吞吐的SDRAM,还是用于存储启动代码的NOR Flash,它们与CPU之间的桥梁——外部存储器接口(EMIF&…

2026/7/22 19:47:14 阅读更多 →
如何使用Revo实现领域驱动设计(DDD):从理论到实践的终极教程

如何使用Revo实现领域驱动设计(DDD):从理论到实践的终极教程

如何使用Revo实现领域驱动设计(DDD):从理论到实践的终极教程 【免费下载链接】Revo Event Sourcing, CQRS and DDD framework for C#/.NET Core. 项目地址: https://gitcode.com/gh_mirrors/revo/Revo Revo是一个专为C#/.NET Core构建的开源框架,…

2026/7/22 19:47:14 阅读更多 →

最新新闻

ASMR音频资源一键获取工具:高效下载asmr.one平台海量内容

ASMR音频资源一键获取工具:高效下载asmr.one平台海量内容

ASMR音频资源一键获取工具:高效下载asmr.one平台海量内容 在当今快节奏的生活中,寻找高质量的放松音频资源往往需要耗费大量时间和精力。asmr-downloader作为一款专为ASMR爱好者设计的开源工具,彻底解决了这一痛点。它能够智能地从asmr.one平…

2026/7/22 20:27:31 阅读更多 →
腾讯云发布“云哨”运维大模型:当AI开始帮你排查故障,运维的护城河还在吗?

腾讯云发布“云哨”运维大模型:当AI开始帮你排查故障,运维的护城河还在吗?

腾讯云发布“云哨”运维大模型:当AI开始帮你排查故障,运维的护城河还在吗? 《AI视界——从资讯看技术》专栏 第十五期 前脚刚聊完提示注入攻击,后脚行业就甩出了应对方案——用AI来审查AI。但更深远的问题是:当运维这…

2026/7/22 20:27:31 阅读更多 →
大模型又幻觉了?因为你少了一道“判官“工序

大模型又幻觉了?因为你少了一道“判官“工序

你搭好了 RAG:切分、向量化、检索、重排,四件套齐活。结果一上线,大模型还是给你一本正经地胡说八道。 问题多半不在召回,而在最后那一关没人把关。向量相似度 0.55 的段落,你不知道它是"真相关"还是"只是字面像"——而这恰恰是幻觉的温床。 这…

2026/7/22 20:27:31 阅读更多 →
如何快速构建个人ASMR音频库:ASMR下载器完整使用指南

如何快速构建个人ASMR音频库:ASMR下载器完整使用指南

如何快速构建个人ASMR音频库:ASMR下载器完整使用指南 ASMR下载器是一款专为ASMR爱好者设计的强大工具,能够高效地从asmr.one网站下载助眠音频内容,帮助你轻松构建个人专属的音频库。无论你是初次接触ASMR的新手,还是资深音频收藏…

2026/7/22 20:27:31 阅读更多 →
Advanced Steam Sessions模块深度探索:Steam Workshop与语音聊天集成教程

Advanced Steam Sessions模块深度探索:Steam Workshop与语音聊天集成教程

Advanced Steam Sessions模块深度探索:Steam Workshop与语音聊天集成教程 【免费下载链接】AdvancedSessionsPlugin Advanced Sessions Plugin for UE4 项目地址: https://gitcode.com/gh_mirrors/ad/AdvancedSessionsPlugin Advanced Steam Sessions模块是U…

2026/7/22 20:27:31 阅读更多 →
Spring Lemon集成Captcha验证:防止恶意注册的实用指南

Spring Lemon集成Captcha验证:防止恶意注册的实用指南

Spring Lemon集成Captcha验证:防止恶意注册的实用指南 【免费下载链接】spring-lemon Helper library for Spring Boot web applications 项目地址: https://gitcode.com/gh_mirrors/sp/spring-lemon 在当今网络环境中,恶意注册和垃圾信息已成为W…

2026/7/22 20:26:31 阅读更多 →

日新闻

TI DSP系统配置模块SYSCFG详解:中断机制与主设备优先级配置实战

TI DSP系统配置模块SYSCFG详解:中断机制与主设备优先级配置实战

1. 项目概述与SYSCFG模块的核心价值在嵌入式系统,尤其是像TI C6000系列这样的高性能DSP开发中,我们常常会与芯片手册里那些密密麻麻的寄存器打交道。很多开发者可能更关注算法实现、内存优化或者外设驱动,但对于一个稳定、高效的系统而言&…

2026/7/22 0:00:26 阅读更多 →
微信Server酱:高到达率的应急通知方案实践

微信Server酱:高到达率的应急通知方案实践

1. 为什么我们需要"最次"的通知方案? 在数字化协作环境中,消息通知系统的重要性不言而喻明。但现实情况是,企业级通知方案往往需要复杂的API对接(如企业微信、钉钉、飞书),个人开发者的小项目又经…

2026/7/22 0:00:26 阅读更多 →
甲方要的“简洁“PPT,到底是简洁还是省事?

甲方要的“简洁“PPT,到底是简洁还是省事?

甲方说"简洁一点",乙方听到的是"少做几页"。甲方说"不要太复杂",乙方理解成"别放图表了"。结果交过去,甲方说"我说的简洁不是这个意思"。"简洁"这个词在PPT语境里,是…

2026/7/22 0:00:26 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/22 8:58:19 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/22 19:43:43 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/22 12:54:44 阅读更多 →

月新闻