当前位置: 首页 > news >正文

Java 数组(详细教学 基础篇)

一、数组的基本要素

  1. 标识符:数组的名称
  2. 数组元素:数组中存放的数据
  3. 元素下标:对数组元素进行编号,数组下标从0开始来访问
  4. 元素类型:数组元素的数据类型

二、数组的五种赋值方法和使用方法

声明数组

int[] arr;//开辟三个空间
arr = new int[3];//向数组中赋值,0、1、2是下标
arr[0] = 30;
arr[1] = 97;
arr[2] = 65;

声明数组并且分配空间

int[] arr = new int[3];  //开辟三个空间
//向数组中赋值
arr[0] = 30;
arr[1] = 97;
arr[2] = 65;

声明数组同时赋值(1)

int[] arr = new int[]{30, 97, 65};

声明数组同时赋值(2)

int[] arr = {30, 97, 65};

从控制台输入向数组赋值

int[] arr = new int[3];
System.out.println("向数组中存入三个数据:");//arr.length是数组的长度
for (int i = 0; i < arr.length; i++) {		//i是下标arr[i] = input.nextInt();
}//把数组中的值输出
for (int i = 0; i < arr.length; i++) {//输出数组中的值System.out.println(arr[i]);
}

三、求总和平均

int i = 0;
int zong = 0;
int[] arr = new int[3];
for (i = 0; i < arr.length; i++) {System.out.print("输入第" + (i + 1) + "位同学的成绩:");arr[i] = input.nextInt();zong = zong + arr[i];
}
System.out.println(i + "位同学的总分是:" + zong + "平均分是:" + zong * 1.0 / arr.length);

四、求数组中最大值最小值

int[] arr = { 90, 100, 98, 67, 45, 79 };
int max = arr[0];
int min = arr[0];
for (int i = 1; i < arr.length; i++) {if (arr[i] > max) {max = arr[i];}if (arr[i] < min) {min = arr[i];}
}
System.out.println("最大值为:" + max);
System.out.println("最小值为:" + min);

五、对数组进行升序排序

数组升序输出int[] arr1 = { 90, 100, 98, 67, 45, 79 };Arrays.sort(arr1);for (int i = 0; i < arr1.length; i++) {System.out.println(arr1[i]);}数组降序输出int[] arr2 = {90, 100, 98, 67, 45, 79};Arrays.sort(arr2);for (int i = arr2.length - 1; i >= 0; i--) {System.out.println(arr2[i]);}

六、不调用方法进行数组排序

int[] array = {10, 30, 17, 6, 29, 20};
int temp;
for (int i = 0; i < array.length - 1; i++) {for (int j = 0; j < array.length - 1 - i; j++) {if (array[j] < array[j + 1]) { //<为降序,>为升序temp = array[j];array[j] = array[j + 1];array[j + 1] = temp;}}
}
for (int i : array) {System.out.print(i + "\t");
}

七、Arrays 类常用方法

Arrays类位于 java.util 包中, import java.util.Arrays;

int[] array1 = {10, 20, 16, 19, 5};
int[] array2 = {10, 20, 16, 19, 5};//boolean equals(array1, array2)比较两个数组是否相等
System.out.println(Arrays.equals(array1, array2));
//打印true//String toString(array)将数组转换成字符串显示值
System.out.println(Arrays.toString(array1));
//打印[10, 20, 16, 19, 5]//void fill(array, val)将数组的所有值填充为val
Arrays.fill(array2, 20);
System.out.println(Arrays.toString(array2));
//打印[20, 20, 20, 20, 20]//数组copyOf(array, newLength)将array复制成指定长度的新数组
int[] array3 = Arrays.copyOf(array1, 10);
System.out.println(Arrays.toString(array3));
//打印[10, 20, 16, 19, 5, 0, 0, 0, 0, 0]//int binarySearch(array, key)在array数组中查找指定的值,并返回其索引,前提是数组是有序的
Arrays.sort(array1);
System.out.println(Arrays.binarySearch(array1, 16));
//打印2

相关文章:

Java 数组(详细教学 基础篇)

一、数组的基本要素 标识符&#xff1a;数组的名称数组元素&#xff1a;数组中存放的数据元素下标&#xff1a;对数组元素进行编号&#xff0c;数组下标从0开始来访问元素类型&#xff1a;数组元素的数据类型 二、数组的五种赋值方法和使用方法 声明数组 int[] arr;//开辟三个…...

python装饰器原理 | 常用装饰器使用(@cache, @lru_cache)

&#x1f680; 关于python的装饰器原理介绍可看这里&#xff0c;讲的挺简洁易懂&#xff1a;python装饰器原理 ⭐ 弄懂装饰器原理后&#xff0c;来学学常用装饰器。 文章目录1、cache, lru_cache1、cache, lru_cache 也就是一种装饰在被执行的函数上&#xff0c;将其执行的结果…...

[oeasy]python0090_极客起源_wozniac_苹果公司_Jobs_Wozniac

极客起源 回忆上次内容 上次回顾了 DEC公司的兴起 从IBM的大型机 到DEC的小型机Mini Computer 再到DEC的终端 VT-100 计算机基础元器件发生了进化 从ENIAC的 电子管到PDP系列的 晶体管 新的器件 体积小了价格低了稳定性 提高了而且 连成了网络 ARPA网 就是 最初的Internet …...

Spring基础总结(下)

简介 本章节通过手写一个简单的 Spring 框架来加深对 Spring 框架源码以及设计思想的理解&#xff1b; 实现步骤 BeanScope 枚举代码 public enum BeanScope { sigleton, prototype; }AppConfig 配置类 // 定义包扫描路径 ComponentScan("com.dufu.spring"…...

设计模式面试题

设计模式分为 创建型 工厂模式 单例 原型行为性 责任链 迭代器 命令中介型结构性 适配器 代理 门面 装饰器 组合 桥接单例设计模式 懒汉式 用到时再创建&#xff0c;省内存 饿汉式 类创建时就创建&#xff0c;会占用内存 内部类 用到时再创建&#xff0c;省内存 线程池、数据…...

需要知道的一些API接口的基础知识

API是应用程序编程接口&#xff08;Application Programming Interface&#xff09;的缩写&#xff0c;能够起到两个软件组件之间的连接器或中介的作用。此类接口往往通过一组明确的协议&#xff0c;来表示各种原始的请求和响应。API文档可以向开发人员展示请求和响应是如何形成…...

互融云数字资产管理平台综合解决方案

自十八大以来&#xff0c;发展数字经济逐步成为了国家战略。从2015年国务院印发《促进大数据发展行动纲要》&#xff0c;到2020年4月中央发布《关于构建更加完善的要素市场化配置体制机制的意见》&#xff0c;再到2022年底出台《中共中央、国务院关于构建数据基础制度更好发挥数…...

记住这12个要点,你也能打造出让HR和技术主管前一亮的前端简历

第一篇章&#xff1a;吸引HR 如果你想在众多简历中脱颖而出&#xff0c;需要注意以下几点&#xff1a; 1、突出你的亮点&#xff1a; 给你的简历一个吸引人的文件命名和头部&#xff0c;突出你的关键技能和经验。 2、采用简洁的语言&#xff1a; 用简单易懂的语言来描述你的…...

AQS学习:ReentrantLock源码解析

前言 多线程知识中理解了ReentrantLock之后&#xff0c;对于整个AQS也会有大概的理解&#xff0c;后面再去看其它锁的源码就会比较容易。下面带大家一块来学习ReentrantLock源码。 概述 ReentrantLock是可重入的互斥锁&#xff0c;虽然具有与synchronized相同功能&#xff0…...

RocketMQ源码分析消息消费机制—-消费端消息负载均衡机制与重新分布

1、消息消费需要解决的问题 首先再次重复啰嗦一下 RocketMQ 消息消费的一些基本元素的关系 主题 —》 消息队列(MessageQueue) 1 对多。 主题 —》 消息生产者&#xff0c;一般主题会由多个生产者组成&#xff0c;生产者组。 主题 —》 消息消费者&#xff0c;一般一个主题…...

华为OD机试真题Python实现【数据分类】真题+解题思路+代码(20222023)

数据分类 题目 对一个数据a进行分类, 分类方法是,此数据a(4 个字节大小)的 4 个字节相加对一个给定值b取模, 如果得到的结果小于一个给定的值c则数据a为有效类型,其类型为取模的值。 如果得到的结果大于或者等于c则数据a为无效类型。 比如一个数据a = 0x01010101,b = 3…...

vue项目中引入字体包

问题&#xff1a; 项目开发过程中&#xff0c;因UI的显示要求&#xff0c;需要引入一些字体&#xff0c;那如何引入外部字体呢&#xff1f;很简单&#xff0c;只需要以下3步 一 下载对应的字体包文件&#xff0c;放置到我们的项目中 ​ 比如我需要PingFangSC的系列字体&#…...

Linux 文件相关操作

文件相关操作 编辑文件 命令&#xff1a; vi 文件名 然后输入i进入编辑模式 编辑完成后输入esc退出编辑 输入:wq保存即便目录下没有这个文件&#xff0c;也可以想使用vi 文件名进行编辑&#xff0c;保存退出后会创建这个文件 查看文件内容 命令&#xff1a; cat 文件名复…...

【计算机网络】应用题方法总结

0.前言本篇博客主要记录自己在学习到的部分解决计算机网络应用题方法&#xff0c;主要参考视频如下&#xff1a;计算机网络期末复习 应用题_哔哩哔哩_bilibili【计算机网络】子网划分题型总结_哔哩哔哩_bilibili循环冗余码step 1&#xff1a;确定冗余码长度。多项式最高位即为冗…...

Linux 浅谈之性能分析工具 perf

Linux 浅谈之性能分析工具 perf HELLO&#xff0c;各位博友好&#xff0c;我是阿呆 &#x1f648;&#x1f648;&#x1f648; 这里是 Linux 浅谈系列&#xff0c;收录在操作系统专栏中 &#x1f61c;&#x1f61c;&#x1f61c; 本系列将记录一些阿呆个人整理的 OS 相关知识…...

代码随想录-Day7:四数相加、三数之和

454. 四数相加 II 给你四个整数数组 nums1、nums2、nums3 和 nums4 &#xff0c;数组长度都是 n &#xff0c;请你计算有多少个元组 (i, j, k, l) 能满足&#xff1a; 0 < i, j, k, l < nnums1[i] nums2[j] nums3[k] nums4[l] 0示例 1&#xff1a; 输入&#xff1…...

jsp在线考试系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 jsp 在线考试系统 是一套完善的web设计系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5 开发&#xff0c;数据库为Mysql&#xff0c;使用j…...

【总结】2023数学建模美赛!收官!

今年的美赛时间是2.17-2.21&#xff0c;这学期疫情放开了之后管的没那么严了&#xff0c;我们小组就都提前一天到学校了&#xff0c;全力准备17号的比赛。 时间流程 刚拿到6个题的时候&#xff0c;我们三个人一人看两个题&#xff0c;每个人从两个题中再选出来一个自己觉得有…...

C# GDI+ winform绘图知识总结

一、Graphics GDI是GDI&#xff08;Windows Graphics Device Interface&#xff09;的后继者&#xff0c;它是.NET Framework为操作图形提供的应用程序编程接口&#xff0c;主要用在窗体上绘制各种图形图像&#xff0c;可以用于绘制各种数据图像、数学仿真等。 Graphics类是G…...

【研究空间复用及函数调用问题】

本篇总结函数调用过程会存在的一些奇怪现象&#xff0c;空间复用问题&#xff0c;其实本质上涉及函数调用的底层原理&#xff0c;理解函数栈帧的创建和销毁这样的问题直接迎刃而解。1.空间复用问题案例1案例22.函数调用过程不清晰问题案例33.总结1.空间复用问题 案例1 我们先…...

[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?

&#x1f9e0; 智能合约中的数据是如何在区块链中保持一致的&#xff1f; 为什么所有区块链节点都能得出相同结果&#xff1f;合约调用这么复杂&#xff0c;状态真能保持一致吗&#xff1f;本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里&#xf…...

【网络】每天掌握一个Linux命令 - iftop

在Linux系统中&#xff0c;iftop是网络管理的得力助手&#xff0c;能实时监控网络流量、连接情况等&#xff0c;帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

java_网络服务相关_gateway_nacos_feign区别联系

1. spring-cloud-starter-gateway 作用&#xff1a;作为微服务架构的网关&#xff0c;统一入口&#xff0c;处理所有外部请求。 核心能力&#xff1a; 路由转发&#xff08;基于路径、服务名等&#xff09;过滤器&#xff08;鉴权、限流、日志、Header 处理&#xff09;支持负…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八

现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet&#xff0c;点击确认后如下提示 最终上报fail 解决方法 内核升级导致&#xff0c;需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

C++使用 new 来创建动态数组

问题&#xff1a; 不能使用变量定义数组大小 原因&#xff1a; 这是因为数组在内存中是连续存储的&#xff0c;编译器需要在编译阶段就确定数组的大小&#xff0c;以便正确地分配内存空间。如果允许使用变量来定义数组的大小&#xff0c;那么编译器就无法在编译时确定数组的大…...

return this;返回的是谁

一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请&#xff0c;不同级别的经理有不同的审批权限&#xff1a; // 抽象处理者&#xff1a;审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...

Golang——6、指针和结构体

指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...

宇树科技,改名了!

提到国内具身智能和机器人领域的代表企业&#xff0c;那宇树科技&#xff08;Unitree&#xff09;必须名列其榜。 最近&#xff0c;宇树科技的一项新变动消息在业界引发了不少关注和讨论&#xff0c;即&#xff1a; 宇树向其合作伙伴发布了一封公司名称变更函称&#xff0c;因…...

【 java 虚拟机知识 第一篇 】

目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...

Caliper 配置文件解析:fisco-bcos.json

config.yaml 文件 config.yaml 是 Caliper 的主配置文件,通常包含以下内容: test:name: fisco-bcos-test # 测试名称description: Performance test of FISCO-BCOS # 测试描述workers:type: local # 工作进程类型number: 5 # 工作进程数量monitor:type: - docker- pro…...