尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
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 数字; } } }运行结果
RELATED

相关推荐

ThinkGen:多模态思维链如何革新AI内容生成

ThinkGen:多模态思维链如何革新AI内容生成

1. 项目概述:ThinkGen如何重新定义AI创作流程ThinkGen这个开源项目最近在GitHub上引发了热烈讨论,它从根本上改变了传统AI直接输出的工作模式。作为一个长期跟踪AI技术发展的从业者,我第一时间下载并测试了这个框架,发现它确实解决…

📅 2026/9/26 20:27:14
存货周转天数手工核算麻烦?一键生成存货周转天数报表工具?

存货周转天数手工核算麻烦?一键生成存货周转天数报表工具?

存货周转天数手工算到崩溃,你是不是也这样?前阵子跟一位在零售行业做财务经理的朋友吃饭,她整个人看起来憔悴了不少。一问才知道,季度经营分析会马上要开了,光一个存货周转天数就让她们团队折腾了整整四天。仓库系统导…

📅 2026/9/26 21:13:18
Jellium Desktop窗口透明度调整:打造个性化视觉体验

Jellium Desktop窗口透明度调整:打造个性化视觉体验

Jellium Desktop窗口透明度调整:打造个性化视觉体验 【免费下载链接】jellium-desktop An unofficial desktop client for Jellyfin 项目地址: https://gitcode.com/GitHub_Trending/je/jellium-desktop Jellium Desktop作为一款非官方的Jellyfin桌面客户端&…

📅 2026/9/26 21:12:38
MORE NEWS

更多资讯

📰

PyTorch目标检测实战:小黄人检测从数据准备到模型训练全流程

最近用PyTorch做图像识别练习,选了个特别有画面感的入门任务——小黄人检测。目标检测这个名字听着有点唬人,但拆开其实就两件事:先把图片里的小黄人找出来,再用矩形框把它框住。上学那会儿做这类需求,第一反应是搞滑动…

📰

矩阵置零:原地算法与状态管理,LeetCode 73 题全解析

矩阵置零这个题,我第一次在刷题平台上看到时,内心是有点不屑的:两层循环,遇到 0 就改行改列,这不是有手就行?可当我真的原地写起来,才发现完全不是那么回事。题目本身很短:给定一个m…

📰

CST电磁仿真场分布数据导出与MATLAB后处理全流程指南

简介:电磁仿真CST场分布MATLAB后处理代码定位于CST仿真后的数据可视化工具,主要面向天线设计、微波器件分析等场景的电磁工程师与相关专业学生,用于解决场监视器导出的ASCII数据难直接解读的问题。压缩包内包含1个.m脚本文件,整体…

📰

技术资产清单与生命周期管理:从建模到落地的完整指南

先说个现象:我见过不少团队把技术资产清单做成一张Excel,每年年底拉着所有负责人填表,费了好大劲收回来几百行数据,更新完发到群里,然后就没有然后了。第二年再来一轮,表单里多了一堆过期的IP、没人认领的域…

📰

AI芯片设计中的黑盒问题与可观测性实践

1. 这句话不是危言耸听,而是芯片工程师每天面对的现实“AI 在芯片领域依然是个黑盒”——这句话最近在多个技术社区和内部分享会上反复出现,不是调侃,也不是抱怨,而是某芯片设计公司前端验证团队负责人在一次跨部门对齐会上脱口而…

📰

基于UG的框架断路器抽屉座运动仿真完整实现链路

1. 项目到底做什么:一套“三维模型运动仿真”的完整落地链路低压电器行业里,框架断路器的抽屉座是柜体与断路器本体之间最关键的活动结构。它承担两个任务:一是让断路器能轻松抽出检修,二是保证推进过程中一次触头、二次接插件能准…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬