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

【数组的定义数组与内存的关系】

数组的定义&数组与内存的关系

    • 数组的定义
      • 数组定义的语法
        • 数组的初始化
        • 数组元素的表示与赋值
        • 数组插入:
    • 数组与内存的关系
    • 数组的基本操作
      • 插入数值
      • 修改元素
      • Arrays类的常用方法
      • 总结

数组的定义

JAVA中的数组
在Java中,数组就是一个变量,用于将相同数据类型的数据存储在内存。数组中的每一个数据元素都属于同一数据类型

数组定义的语法

数据类型[] 数组名 = new 数据类型[数组长度]
或者
数据类型 数组名[] = new 数据类型[数组长度]

–>定义数组是一定要指定数组名和数据类型
–>必须书写“[]”表示定义的一个数组,而不是一个普通的变量
–>【“数组长度”】决定的分配空间的个数,通过数组的length属性可获取此长度
–>数组的数据类型用于确定分配的每个空间大小

数组的初始化

语法格式:
数据类型【】数组名={值1,值2,值3…值n};
或者
数据类型【】数组名=new 数组类型【】{值1,值2,值3…值n};

数组元素的表示与赋值

语法:
数组名【下标值】=值;

数组插入:

1.先把数组使用冒泡排序排列为升序排列
2.把输入的值循环判断,是否大于数组中的某一个元素
如果大于,数组元素中的元素下标赋给定义的下标值,
结束循环,break;
3.把数组中的元素后移,从数组元素中倒数第二个数开始
大于等于定义的下标值,然后循环元素后移
4.插入,数组中等于定义的下标值,等于输入插入的数字
5.循环输出看结果是否正确

数组与内存的关系

在这里插入图片描述

程序在堆内存开辟一块连续的空间

数组的基本操作

package one04;
import java.util.Scanner;
public class Score03 {public static void main(String[] args) {//数组删除元素//先提示用户输入需要删除的手机品牌如果不存在index等于-1给用户一个提示没有您需要删除的元素//如果存在,获取元素的下标,然后循环便利,用后面数组的元素覆盖住这个下标//再然后,把数组最后一个没有的元素给定义为null//然后for循环便利不为空的元素,这样删除元素就完成了Scanner input=new Scanner(System.in);int index=-1;String[] names={"苹果","三星","vivo","华为"};System.out.println("请输入要删除的数组元素:");String name=input.next();for (int i = 0; i < names.length; i++) {if(name.equals(names[i])){index=i;}}if(index==-1){System.out.println("没有您要删除的元素!");}else{for (int i = index; i < names.length-1; i++) {names[i]=names[i+1];}names[names.length-1]=null;System.out.println("删除后的数组元素:");for (int i = 0; i < names.length; i++) {if(names[i]!=null){System.out.println(names[i]);}}}}
}

插入数值

在这里插入图片描述

package one04;
import java.util.Scanner;
public class Score01 {public static void main(String[] args) {//从数组里添加元素//定义一个int类型的变量//for循环遍历数组元素判断空间是否已满,如果为空可以添加,把数组下标给int类型变量//如果空间已满,变量为-1给出一个提示,空间已满int index=-1;Scanner input=new Scanner(System.in);String[] names={"苹果","三星","vivo","华为",null};for (int i = 0; i < names.length; i++) {if(names[i]==null){System.out.println("请输入要添加的手机品牌:");names[i]=input.next();index=i;break;}}if(index==-1){System.out.println("空间已满!不可添加!");}for (int j = 0; j < names.length; j++) {System.out.println(names[j]);}}}

修改元素

package one04;import java.util.Scanner;public class Score02 {public static void main(String[] args) {//修改数组中的元素//提示用户输入需要修改的手机品牌//for循环便利,如果找到就提示输入新的手机品牌然后break退出循环//然后打印一遍修改后的值int index=-1;Scanner input=new Scanner(System.in);String[] names={"苹果","华为","三星","vivo","opop"};;System.out.println("请输入要修改的手机品牌:");String name=input.next();for (int i = 0; i < names.length; i++) {if(name.equals(names[i])){index=i;System.out.println("请输入新的手机品牌:");names[i]=input.next();break;}}if(index==-1){System.out.println("您输入的手机品牌不存在!");}else{for (int i = 0; i < names.length; i++) {System.out.println(names[i]);}}}}

Arrays类的常用方法

方法名 返回类型 作用
equals(array1,array2); boolean 比较两个数组长度是否相等
sort(array) void 对数组Array的元素进行排序
toString(array) String 讲一个数组array转换成一个字符串
fill(array,val) void 将数组array的所有元素都赋值为val
copyOf(array,length) 与array数据类型一致 把数组array复制成一个长度为length的新数组
binarySearch(array,val) int 查询元素值val在数组中的下标

总结

数组的作用方便存储相同类型的数据
使用数组要根据数组的下标来进行操作
遍历一个数组根据数组的下标来遍历
求最大值,循环对比如果i大于i+1那么不用换位置,如果小于就换位置,循环完毕i的值就是最大值

总结

在这里插入图片描述
数组的作用方便存储相同类型的数据
使用数组要根据数组的下标来进行操作
遍历一个数组根据数组的下标来遍历
求最大值,循环对比如果i大于i+1那么不用换位置,如果小于就换位置,循环完毕i的值就是最大值

http://www.xdnf.cn/news/8454.html

相关文章:

  • 【信息系统项目管理师】第18章:项目绩效域 - 45个经典题目及详解
  • antv/g6 图谱封装配置(二)
  • 七、OpenGL 2.0 可编程着色器实现渲染控制权转移的四大核心机制
  • 使用js 写一个函数 将base64 转换成file
  • linux初识--基础指令
  • 云蝠语音智能体——电话面试中的智能助手
  • 【数据架构07】数据智能架构篇
  • JavaScript数据类型完全指南:从基础到实战
  • 交流电能表基本介绍
  • 《Python语言程序设计》第4章第7题,这次利用之前学过的第7章的内容使用对象和类,来修改这道题
  • 仿真APP助力提升卡车驾驶室驾乘舒适度与安全性
  • 模型压缩,AWQ与GPTQ量化方法分析
  • 【信息系统项目管理师】第20章:高级项目管理 - 28个经典题目及详解
  • 学习日记-day14-5.23
  • Redis淘汰策略
  • vue pinia 独立维护,仓库统一导出
  • 虚拟机Centos7:Cannot find a valid baseurl for repo: base/7/x86_64问题解决
  • Linux 下使用 Sysbench 进行性能测试
  • ConceptAttention:Diffusion Transformers learn highly interpretable features
  • Tailwind css实战,基于Kooboo构建AI对话框页面(一)
  • 纸牌游戏(基于集合,和自定义排序实现)
  • linux_cmake的笔记
  • 从底层原理分析Python 常用字符串拼接方法效率差异
  • BeeWorks局域网聊天工具:打造智能高效的企业级即时通讯新生态
  • Spring生态的核心思想
  • 每周资讯 | 网易游戏发布会9款新品曝光;TikTok小程序测试开启
  • LangChain4j入门AI(八)使用RAG增加私有知识库
  • 初识 Flask 框架
  • Sa-Token登录权限认证
  • 水力发电站人员定位新方案