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内存分布:

数组终于学完了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/854840.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

守护电力心脏:国网电力监控运维平台的智慧使命

国网电力监控运维平台&#xff0c;以其强大的数据分析和处理能力&#xff0c;实现了对电网运行的实时监控。无论是电压波动、电流异常&#xff0c;还是设备故障&#xff0c;平台都能迅速捕捉并发出预警&#xff0c;确保电力供应的稳定和安全。 山海鲸可视化电力监控运维平台 想…

jpg压缩在线方法,我只用这2种(无损)

在数字化的时代&#xff0c;我们经常需要分享、存储或上传各种图像文件&#xff0c;而JPG是其中最常见的图像格式之一。然而&#xff0c;大文件大小有时可能成为一个问题&#xff0c;尤其是在网络传输或存储空间有限的情况下。为了解决这一问题&#xff0c;我们可以利用在线工具…

【嵌入式系统开发】002 VI编辑器入门

文章目录 0. 前言&#xff11;. VI编辑器简介1.1 什么是VI编辑器1.2 打开VI编辑器 2. VI编辑器的三种工作模式间&#xff08;模式切换与部分功能&#xff09;3. 移动操作4. 编辑4.1 插入4.2 删除 5. 复制、粘贴6. 查找、替换 0. 前言 对文件进行编辑时&#xff0c;如果是在有图…

gsoap2.8交叉编译方法(详细、亲测可用)

环境搭建 交叉编译器安装&#xff0c;过程略。 注意&#xff1a;如果要使用脚本配置环境变量&#xff0c;在运行脚本时&#xff0c;应该使用 . /绝对路径的方式&#xff0c;而不是直接/绝对路径或者./绝对路径&#xff0c;否则会导致配置失败。&#xff08;亲测如此&#xff0…

[巨详细]安装HBuilder-X教程

文章目录 下载HBuilder-X点击网址 &#xff0c;打开官网先点击所有产品&#xff0c;再点击HBuilder-X。进入HBuilder-X官网页面点击more&#xff0c;选择适合的版本下载。等待下载打开压缩包&#xff0c;点击HBuilderX.exe选择喜欢的风格关闭该弹窗&#xff0c;选择创建就创建成…

如何学习 Java 中的 Socket 编程,进行网络通信

Socket编程是网络编程的核心技术之一&#xff0c;它使得不同主机之间可以进行数据通信。Java提供了丰富的网络编程API&#xff0c;使得编写网络应用程序变得相对简单和直观。本文将详细讲解如何学习Java中的Socket编程&#xff0c;并通过示例代码展示如何实现网络通信。 一、S…

Java情侣飞行棋系统小程序+H5+微信公众号+APP 源码

&#x1f491;甜蜜互动&#xff0c;共赴云端之旅&#x1f6eb; &#x1f308;一、引言&#xff1a;飞行棋遇上情侣&#xff0c;乐趣翻倍 在繁忙的生活中&#xff0c;情侣们总是渴望找到一种简单而有趣的方式来增进彼此的感情。这时&#xff0c;情侣飞行棋小程序应运而生&#…

视频融合共享平台LntonCVS视频监控管理平台技术方案详细介绍

LntonCVS国标视频综合管理平台是一款以视频为核心的智慧物联应用平台。它基于分布式、负载均衡等流媒体技术进行开发&#xff0c;提供广泛兼容、安全可靠、开放共享的视频综合服务。该平台具备多种功能&#xff0c;包括视频直播、录像、回放、检索、云存储、告警上报、语音对讲…

【C#】汽车租赁系统设计与实现

目的&#xff1a; 设计一个简单的汽车租赁系统&#xff0c;包含以下功能&#xff1a; 添加车辆&#xff1a;用户可以添加新的车辆到系统中&#xff0c;包括车辆的品牌、型号、车牌号、日租金等信息。查找车辆&#xff1a;用户可以通过车牌号或者品牌来查找车辆&#xff0c;并…

MyBatis查询两个字段,返回Map,一个字段作为key,一个字段作为value的实现

项目场景&#xff1a; 在使用MyBatis&#xff0c;我们经常会遇到这种情况&#xff1a;SELECT两个字段&#xff0c;需要返回一个Map&#xff0c;其中第一个字段作为key&#xff0c;第二个字段作为value。MyBatis的MapKey虽然很实用&#xff0c;但并不能解决这种场景。 问题描述 …

【Unity】向量应用:已知入射方向和法向量求反射方向(跳弹系统)

文章目录 已知入射方向和法向量求反射方向已知条件解题思路代码范例 已知入射方向和法向量求反射方向 已知条件 已知入射向量v1和法向量n&#xff08;OB&#xff09;&#xff0c;求反射向量v2&#xff0c;上述向量均为单位向量。 解题思路 设 AO为 v1 &#xff1b;OB为 n …

实验13 BGP路径选择

实验13 BGP路径选择 一、 原理描述二、 实验目的三、 实验内容四、 实验配置五、 实验步骤 一、 原理描述 与域内路由不同&#xff0c;域间路由更加注重策略&#xff0c;而不是技术。在域内进行选路&#xff0c;可以使用路由算法计算出到达目的子网的最短路径&#xff1b;而在…

如何完美解决 Oracle Database 19c 安装程序 - 第7步(共8步)卡住,半小时都不动

&#x1f680; 如何完美解决 Oracle Database 19c 安装程序 - 第7步&#xff08;共8步&#xff09;卡住&#xff0c;半小时都不动 摘要 在安装 Oracle Database 19c 时&#xff0c;很多用户会在第7步&#xff08;共8步&#xff09;遇到卡住的问题&#xff0c;尤其是安装程序长…

行业模板|DataEase应用平台对接大屏模板推荐

DataEase开源数据可视化分析工具于2022年6月发布模板市场&#xff08;https://templates-de.fit2cloud.com&#xff09;&#xff0c;并于2024年1月新增适用于DataEase v2版本的模板分类。模板市场旨在为DataEase用户提供专业、美观、拿来即用的大屏模板&#xff0c;方便用户根据…

Spring框架的最新进展:2023年Spring Boot和Spring Cloud功能更新

引用 Spring框架的最新动态&#xff1a;2023年Spring Boot与Spring Cloud功能升级 Spring框架作为Java开发领域的重要技术之一&#xff0c;一直致力于简化开发流程和提高开发效率。2023年&#xff0c;Spring Boot和Spring Cloud两大核心组件再次迎来功能升级&#xff0c;为开…

哪个充电宝牌子好用又实惠?盘点四大平价充电宝分享

在当今快节奏的生活中&#xff0c;充电宝已成为我们日常生活中不可或缺的一部分。然而&#xff0c;面对市场上琳琅满目的充电宝品牌和型号&#xff0c;许多消费者误以为选择容量越大、价格越高的充电宝就是最好的选择。实际上&#xff0c;买充电宝并不是一味追求高容量和高价格…

深入解析知识付费平台的核心功能模块:满足个性化学习需求的数字化教育新星

在数字化学习的大潮中&#xff0c;知识付费平台已成为教育行业的一颗新星&#xff0c;它以满足用户需求为核心&#xff0c;提供便捷高效的学习渠道。该平台汇聚了各类专业知识&#xff0c;覆盖职业技能、生活兴趣和人文社科等多个领域&#xff0c;满足不同用户的学习需求。同时…

【scrapy】爬虫,从429状态码说起

许久未爬&#xff0c;发现爬不动了&#xff0c;哈哈哈&#xff0c;记录下这次失败的爬取经历 问题描述 针对这样的一个网站&#xff1a; https://www.farfetch.cn/cn/shopping/women/dresses-1/items.aspx?page1&view96&sort3 需求&#xff1a; 1.需要爬取列表页…

TOP10!YashanDB斩获广东省优秀信创产品与解决方案双料荣誉

近日&#xff0c;2024广东软件风云榜结果出炉&#xff0c;表彰为广东软件产业和数字经济、新型工业化发展作出突出贡献的企业、企业家、优秀产品等。深算院崖山数据库系统 YashanDB荣获广东省“2024年优秀信息技术应用创新产品TOP10”和“2024年优秀信息技术应用创新行业应用解…

java 对象实际占用内存大小预估工具类ObjectSizeUtil

java 对象实际占用内存大小预估工具类 返回对象占用预估字节数 返回字节数对应格式化后的字符串&#xff08;xx Kb&#xff09; 使用效果 依赖了lombock和hutool&#xff0c;项目不用这个可以去掉日志&#xff0c;稍微改写一下。 import cn.hutool.core.util.ClassUtil; i…