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

Java基础学习-数组

目录

数组定义

注意点:

地址值是数组在内存中实际存储的地址。

案例遍历:遍历数组得到每一个元素,求数组里面所有数据和

案例:定义数组,遍历能被3整除的数字

案例:遍历一个数组,奇数将当前值扩大两倍,偶数当前数变为原来1/2

数组的动态的初始化:

案例:定义动态数组

案例:求最值:求最大值求最小值

案例:生成10个1-100之间的随机数存入数组,求所有数据的和,数据的平均数,多少数据比平均值小

案例:交换数组中的数据:

案例:打乱数组中的数据:

Java内存分布:


数组定义

注意点:

数组的初始化:就是在内存中,为数组容器开辟空间,并将数据存入容器的过程。

数组一旦创建完毕,数组的长度就不会在发生变化了。

地址值是数组在内存中实际存储的地址。

arr.lenth是数组的长度。

自动快速生成数组遍历的方式:用IDEA:数组名.fori就可以快速生成。

案例遍历:遍历数组得到每一个元素,求数组里面所有数据和

package textwj;
//遍历数组得到每一个元素,求数组里面所有数据和
public class text11 {public static void main(String[] args) {//定义一个数组int[]arr={1,2,3,4,5};//定义一个求和变量int sum=0;for(int i=0;i<arr.length;i++){//求数组里面数据的和sum+=arr[i];//输出数组里面每一项的数System.out.println("数组第"+"i"+"位的值为:"+arr[i]);}System.out.println("数组每一项加起来的和:"+sum);}
}

案例:定义数组,遍历能被3整除的数字

package textwj;
//定义数组,遍历能被3整除的数字
public class text13 {public static void main(String[] args) {//定义一个数组,存1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20int[]arr = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};//遍历数组得到每一个元素int sum = 0;System.out.println("数组中是3的倍数的是:");for (int i = 0; i < arr.length; i++) {//判断元素是否为3的倍数,如果是if (arr[i] % 3 == 0) {System.out.println(arr[i]);sum++;}}System.out.println("总共有"+sum+"个数是3的倍数");}
}

案例:遍历一个数组,奇数将当前值扩大两倍,偶数当前数变为原来1/2

package textwj;
//遍历一个数组,奇数将当前值扩大两倍,偶数当前数变为原来1/2
public class text14 {public static void main(String[] args) {int[]arr = {1,2,3,4,5,6,7,8,9,10};//遍历每一个数,得到数for (int i = 0; i < arr.length; i++) {if (arr[i] % 2 == 0) {//偶数System.out.println("偶数/2"+"  "+arr[i]/2);}else {//奇数System.out.println("奇数*2"+"  "+arr[i]*2);}}}
}

数组的动态的初始化:

案例:定义动态数组

数组静态初始化和动态初始化区别

数组内存图:下一个阶段在学。

案例:求最值:求最大值求最小值

package textwj;import java.util.Scanner;//定求最大值
public class text15 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入数组中的5个数值");int n = sc.nextInt();int m = sc.nextInt();int k = sc.nextInt();int l = sc.nextInt();int r = sc.nextInt();int[] arr = new int[5];int max=arr[0];for (int i = 0; i < arr.length; i++) {if (i==0){arr[i] = n;} else if (i==2) {arr[i] = m;} else if (i==3) {arr[i] = k;}else if (i==4) {arr[i] = l;}else{arr[i] = r;}}for (int i=0;i<5;i++){if (arr[i]>max){max=arr[i];}}int min=arr[0];for (int i=0;i<5;i++){if (arr[i]<min){min=arr[i];}}System.out.println("最大值是");System.out.println(max);System.out.println("最小值是");System.out.println(min);}
}

案例:生成10个1-100之间的随机数存入数组,求所有数据的和,数据的平均数,多少数据比平均值小

package textwj;import java.util.Random;//生成10个1-100之间的随机数存入数组,求所有数据的和,数据的平均数,多少数据比平均值小
public class text16 {public static void main(String[] args) {int[] a = new int[10];Random rand = new Random();for (int i = 0; i < 10; i++) {//赋值1-100之间的数,所以末尾加1a[i] = rand.nextInt(100) + 1;}System.out.println("生成的数是");for (int i = 0; i < a.length; i++) {int j = 0;j = i + 1;System.out.println("生成你的第" + j + "数为: " + a[i]);}//求平均数int sum = 0;//总和for (int i = 0; i < a.length; i++) {sum =sum+a[i];}System.out.println("平均数为" + sum / 10);//哪些数比平均数小int count = 0;//计数System.out.println("比平均值小的数为:");for (int i = 0; i < a.length; i++) {if (a[i] < sum/10) {System.out.println(a[i]);count++;}}System.out.println("比平均数小的总共为" + count + "个");}
}

案例:交换数组中的数据:

package textwj;
//数组倒序交换
public class text17 {public static void main(String[] args) {int[]a={1,2,3,4,5};for (int i = 0,j=a.length - 1; i<j;i++,j--) {//交换指向元素int k=a[i];a[i]=a[j];a[j]=k;}for (int i=0;i<a.length;i++) {System.out.println(a[i]);}}
}

案例:打乱数组中的数据:

package textwj;import java.util.Random;public class text18 {public static void main(String[] args) {int[]a={1,2,3,4,5};Random rand = new Random();int random=rand.nextInt(a.length);System.out.println(random);for (int i = 0; i < a.length; i++) {int temp=a[i];a[i]=a[random];a[random]=temp;}//验证for (int i = 0; i < a.length; i++) {System.out.println(a[i]);}}
}

Java内存分布:

数组终于学完了

相关文章:

Java基础学习-数组

目录 数组定义 注意点&#xff1a; 地址值是数组在内存中实际存储的地址。 案例遍历&#xff1a;遍历数组得到每一个元素&#xff0c;求数组里面所有数据和 案例&#xff1a;定义数组&#xff0c;遍历能被3整除的数字 案例&#xff1a;遍历一个数组&#xff0c;奇数将当前…...

爬虫 pandas Linux Flume Pig填空题

目录 试卷&#xff1a;Python网络数据处理 答案 试卷&#xff1a;Pandas基础操作 答案 试卷&#xff1a;Linux基础指令 答案 试卷&#xff1a;Apache Flume基础指令 答案 试卷&#xff1a;Apache Pig基础指令 答案&#xff1a; Hadoop题 答案 试卷&#xff1a;Pyth…...

Spring框架中哪些地方使用了反射

Spring框架中哪些地方使用了反射&#xff1f; 1. 依赖注入&#xff1a;Spring 使用反射机制获取对象并进行属性注入&#xff0c;从而实现依赖注入。 2. AOP&#xff1a;Spring AOP 使用 JDK 动态代理或者 CGLIB 字节码增强技术来实现 AOP 的切面逻辑&#xff0c;这其中就包含…...

难辨真假的Midjourney案例(附提示词):适合练手

人物 时尚女孩 Street style fashion photo, full-body shot of a young Chinese woman with long curly black hair, walking confidently with a crowd of people down a sidewalk in Hong Kong, wearing a emerald green Gucci maxi dress & gold jewelry, sunset lig…...

数据库讲解---(数据库保护)【上】

一.事务 1.1事务的概念【重要】 事务&#xff1a;“将一组数据库操作打包起来形成一个逻辑独立的单元&#xff0c;这个工作单元不可分割&#xff0c;其中包含的数据要么全部都发生&#xff0c;要么全部都不发生”。 在SQL中&#xff0c;界定事务的语句有三条&#xff1a; B…...

【Android】【Compose】Compose的简单介绍

前言 Jetpack Compose 是谷歌推出的用于构建现代化 Android 应用界面的工具包。它采用了声明式的方式来定义用户界面&#xff0c;与传统的 XML 布局和视图层次结构相比&#xff0c;Compose 提供了更直观、更简洁的方式来创建和管理界面组件。 需求配置 Android 版本要求 An…...

对接钉钉Stream模式考勤打卡相关事件的指南

钉钉之前的accessToken是公司级别的&#xff0c;现在的accessToken是基于应用的&#xff0c;接口的权限也是基于应用的。所以第一步是在钉钉开放平台&#xff08;https://open-dev.dingtalk.com/&#xff09;创建一个应用。 创建好应用之后&#xff0c;因为我们后续还需要调用钉…...

CRMEB PRO企业微信通讯录配置

企业微信通讯录配置 登录企业微信管理后台 企业微信 1、点击【管理工具】找到【通讯录同步】点击进入 2、点击【开启API接口同步】 进入设置【通讯录同步】页面后&#xff0c;权限一栏&#xff0c;勾选【API编辑通讯录】勾选【开启手动编辑】&#xff1b; 3、点击下图箭头所…...

直播新篇章 | 金仓数据库“零距离”探索与知识挑战双重奏

KING大咖成就计划 全新进阶&#xff01;&#xff01;&#xff01;携手知识竞答挑战赛震撼来袭~为您带来一场别开生面的金仓数据库探索之旅与知识竞答盛宴&#xff01; 直 播 活 动 01 大咖引领&#xff0c;KING BASE产品“零距离”体验 您是否对金仓数据库充满好奇&#x1f9d0…...

List的介绍

1. 什么是List List是一个接口&#xff0c;继承自Collection。 Collection也是一个接口&#xff0c;该接口中规范了后序容器中常用的一些方法。 Iterable也是一个接口&#xff0c;表示实现该接口的类是可以逐个元素进行遍历。 2. 常见接口介绍 List中提供了好的方法&#x…...

Uniapp获取具体地理位置

使用uniapp自带uni.getLocation获取当前定位经纬度 再调用高德逆地理编码API&#xff0c;查到具体位置信息 https://restapi.amap.com/v3/geocode/regeo?location${longitude},${latitude}&key${key}&extensionsall 但是个人申请的key&#xff0c;有配额限制 最多每…...

Kafka基础教程

Kafka基础教程 资料来源&#xff1a;Apache Kafka - Introduction (tutorialspoint.com) Apache Kafka起源于LinkedIn&#xff0c;后来在2011年成为一个开源Apache项目&#xff0c;然后在2012年成为一流的Apache项目。Kafka是用Scala和Java编写的。Apache Kafka是基于发布-订…...

视频智能分析平台智能边缘分析一体机安防监控平台打手机检测算法工作原理介绍

智能边缘分析一体机的打手机检测算法是一种集成了计算机视觉和人工智能技术的先进算法&#xff0c;专门用于实时监测和识别监控画面中的打手机行为。以下是关于该算法的详细介绍&#xff1a; 工作原理 1、视频流获取&#xff1a; 智能边缘分析一体机首先通过连接的视频监控设…...

辅助构造函数相关学习以及php实现

https://mp.weixin.qq.com/s/J9hgLTxYi7ZJdFVG2VszQg 对这个文章进行摘要生成 ### 总体概要 文章阐述了在对象创建过程中&#xff0c;辅助构造函数&#xff08;或称为“多个”构造函数&#xff09;的重要性&#xff0c;它们为代码增加了功能性逻辑&#xff0c;并允许根据需求调…...

Linux中nginx.conf如何配置【搬代码】

Nginx 是一个独立的软件。 它是一款高性能的 Web 服务器、反向代理服务器和负载均衡器等&#xff0c;具有强大的功能和广泛的应用场景。它通常需要单独进行安装和配置来发挥其作用。 下载网址&#xff1a;http://nginx.org/en/download.html nginx.conf写法&#xff1a; #配置…...

Django REST framework序列化器详解:普通序列化器与模型序列化器的选择与运用

系列文章目录 Django入门全攻略&#xff1a;从零搭建你的第一个Web项目Django ORM入门指南&#xff1a;从概念到实践&#xff0c;掌握模型创建、迁移与视图操作Django ORM实战&#xff1a;模型字段与元选项配置&#xff0c;以及链式过滤与QF查询详解Django ORM深度游&#xff…...

红队内网攻防渗透:内网渗透之内网对抗:隧道技术篇防火墙组策略ICMPDNSSMB协议出网判断C2上线解决方案

红队内网攻防渗透 1. 内网隧道技术1.1 学隧道前先搞清楚的知识1.2 常用的隧道技术1.3 判断协议出网的命令1.4 C2上线-开防火墙入站只80&出站只放ICMP1.4.1 icmp隧道上线CS后门1.4.1 icmp隧道上线MSF后门1.5 C2上线-开防火墙入站只80&出站只放DNS1.5.1 DNS隧道上线CS后门…...

【Autoware】Autoware.universe安装过程与问题记录

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍Autoware.universe安装过程与问题记录。 无专精则不能成&#xff0c;无涉猎则不能通。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下…...

JavaScript的学习之旅之基本数据类型

目录 一、字面量&#xff08;常量&#xff09;和变量 二、标识符 三、数据类型 1.String类型 2.Number类型 四、布尔值类型 五、Null和Undefined类型 一、字面量&#xff08;常量&#xff09;和变量 字面量&#xff1a;不可变的数据&#xff0c;一般位于等式的右边 变量&…...

oracle开放某些视图给特定用户,查询报视图不存在问题

以sysdba身份登录到Oracle数据库。 创建新用户。例如&#xff0c;创建一个名为new_user的用户&#xff0c;密码为password&#xff1a; CREATE USER new_user IDENTIFIED BY password;为新用户分配表空间和临时表空间。例如&#xff0c;将表空间users和临时表空间temp分配给新…...

地震勘探——干扰波识别、井中地震时距曲线特点

目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波&#xff1a;可以用来解决所提出的地质任务的波&#xff1b;干扰波&#xff1a;所有妨碍辨认、追踪有效波的其他波。 地震勘探中&#xff0c;有效波和干扰波是相对的。例如&#xff0c;在反射波…...

汽车生产虚拟实训中的技能提升与生产优化​

在制造业蓬勃发展的大背景下&#xff0c;虚拟教学实训宛如一颗璀璨的新星&#xff0c;正发挥着不可或缺且日益凸显的关键作用&#xff0c;源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例&#xff0c;汽车生产线上各类…...

STM32标准库-DMA直接存储器存取

文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA&#xff08;Direct Memory Access&#xff09;直接存储器存取 DMA可以提供外设…...

c++ 面试题(1)-----深度优先搜索(DFS)实现

操作系统&#xff1a;ubuntu22.04 IDE:Visual Studio Code 编程语言&#xff1a;C11 题目描述 地上有一个 m 行 n 列的方格&#xff0c;从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子&#xff0c;但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...

工程地质软件市场:发展现状、趋势与策略建议

一、引言 在工程建设领域&#xff0c;准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具&#xff0c;正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

MVC 数据库

MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

Keil 中设置 STM32 Flash 和 RAM 地址详解

文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...

TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案

一、TRS收益互换的本质与业务逻辑 &#xff08;一&#xff09;概念解析 TRS&#xff08;Total Return Swap&#xff09;收益互换是一种金融衍生工具&#xff0c;指交易双方约定在未来一定期限内&#xff0c;基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

技术栈RabbitMq的介绍和使用

目录 1. 什么是消息队列&#xff1f;2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...

uniapp 集成腾讯云 IM 富媒体消息(地理位置/文件)

UniApp 集成腾讯云 IM 富媒体消息全攻略&#xff08;地理位置/文件&#xff09; 一、功能实现原理 腾讯云 IM 通过 消息扩展机制 支持富媒体类型&#xff0c;核心实现方式&#xff1a; 标准消息类型&#xff1a;直接使用 SDK 内置类型&#xff08;文件、图片等&#xff09;自…...