Java 数组的基本使用

news2024/9/20 3:21:33




目录

    • 含义
    • 语法格式
    • 语句特点
    • 数组的长度
    • 数组的元素
    • 打印数组
    • 显示数组
    • 数组的复制
    • 扩展示例【12】:




含义


数组(array)是一种最简单的复合数据类型,它是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和不同的下标来确定数组中唯一的元素。根据数组的维度,可以将其分为一维数组、二维数组和多维数组等。
总之,数组就是存储同种类型的数据的集合;

例如: 班级就是数组,而班级中的每个学生就是该数组中的成员

包含: 一个数组名称、 元素。




语法格式


  • ① 数据类型[] 数组名称 = {元素1, 元素2, 元素3, ···};
    如: double[] myList = {1.9, 2.9, 3.4, 3.5}; // 静态初始化,声明并初始化数组

  • ② 数据类型[] 数组名称 = new 数据类型[数组长度/元素个数];
    如:int[] numbers = new int[5]; // 动态初始化,声明一个可以容纳5个整数的数组




语句特点


无论使用哪种格式,其实都是会先创建出该数组的长度




数组的长度


也叫数组中元素的个数:数组名称.length;
得到一个 int 类型,例如:

int length = numbers.length; // 获取数组的长度


  • 注:在 Java 中数组的下标是从零开始的,Java 数组下标访问运算符是中括号,如 intArray[0],表示访问 intArray 数组的第一个元素,0 是第一个元素的下标。
    Java 中的数组本身是引用数据类型,它的长度属性是 length。

  • 访问数组元素示例如下

int firstNumber = numbers[0]; // 访问数组的第一个元素
int lastNumber = numbers[numbers.length - 1]; // 访问数组的最后一个元素


  • 修改数组元素示例如下

numbers[0] = 10; // 修改数组的第一个元素为 10




数组的元素


​当创建数组的时候只有规定长度,未给予数据的时候也可以打印数组元素,不同数据类型默认值如下:



数据类型默认值
整数0
小数0.0
布尔false
引用类型null



打印数组


  • Arrays.toString(数组名称)



显示数组


如何把数组中的元素依次显示出来 —— 数组的遍历
使用基本 for 循环或者 For-Each 循环


  • ① 使用 for 循环语法格式如下:

for (int i = 0; i < numbers.length; i++) {
    System.out.println(numbers[i]);
}


  • ② 使用增强型 For-Each 循环语法格式如下:

for(type element: array) {
    System.out.println(element);
}


  • 示例:

public class TestArray {
   public static void main(String[] args) {
   	  // 声明小数类型数组变量,并创建一组数组
   	  // 即把新创建(初始化)的数组引用赋值给变量 
      double[] myList = {1.9, 2.9, 3.4, 3.5};
 
      // 使用 For-Each 循环语句遍历数组
      for (double element: myList) {
     	 // 输入结果换行显示:1.9, 2.9, 3.4, 3.5
         System.out.println(element);
      }
   }
}




数组的复制


所谓复制数组,是指将一个数组中的元素在另一个数组中进行复制(拷贝)。
在 Java 中实现数组复制分别有以下 4 种方法:

Arrays 类的 copyOf() 方法
Arrays 类的 copyOfRange() 方法
System 类的 arraycopy() 方法
Object 类的 clone() 方法


  • 使用 copyOf() 方法拷贝数组示例如下

// 使用 Arrays 工具类拷贝数组
int[] copiedNumbers = Arrays.copyOf(numbers, numbers.length); 










扩展示例【12】:


  1. 创建一个 String 类型的数组,元素个数有 5 个,分别是上海的五个区(自定义),并把数组中的数据打印出来

代码示例  待完善!



  1. 创建一个 double 类型的数组,元素个数也是 5 个,分别是自己 5 个朋友的年龄,并把数组中的数据打印出来
  1. 九九乘法表
  1. 打印一个直角等腰三角形 , 边长:50
  1. 定义一个数组,数据自定,长度为6,并打印该数组的数据
  1. 定义一个数组,长度为6, 数据随机获取(1~100),并把数据打印出来
  1. 在第四题的基础上,显示该数组的最大值和最小值
  1. 显示4位验证码,要求含有字母大小写以及0~9
  1. 按照第六题的题目要求,使用另一种方式完成
  1. 定义一个数组, 元素长度为3个账户的长度,3个账户的信息会存储在该数组中,账户中会有账号和密码两个信息;
    需在控制台上分别输入3个账户的信息,并保存在该数组中,且打印出来
  1. 随机获取两个数字(1~100),求这两个数字之间的累加和
  1. 随机获取两个数字(1~100),求这两个数字之间的奇数和,并求奇数个数








Note:
欢迎点赞,留言,转载请在文章页面明显位置给出原文链接
知者,感谢您在茫茫人海中阅读了我的文章
没有个性 哪来的签名!
详情请关注点我
持续更新中

扫一扫 有惊喜!
© 2024 05 - Guyu.com | 【版权所有 侵权必究】

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

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

相关文章

一款好用的SSH连接工具-Tabby Terminal 使用教程

简介 Tabby Terminal 是一款现代化的终端应用程序&#xff0c;旨在提供流畅、高效且可定制的用户体验。它具有跨平台兼容性&#xff0c;支持多种操作系统&#xff0c;包括 Windows、macOS 和 Linux。其界面设计简洁美观&#xff0c;允许用户通过插件和主题进行个性化定制。同时…

LeetCode674:最长连续递增序列

题目描述 给定一个未经排序的整数数组&#xff0c;找到最长且 连续递增的子序列&#xff0c;并返回该序列的长度。 连续递增的子序列 可以由两个下标 l 和 r&#xff08;l < r&#xff09;确定&#xff0c;如果对于每个 l < i < r&#xff0c;都有 nums[i] < nums…

selenium 爬取今日头条

由于今日头条网页是动态渲染&#xff0c;再加上各种token再验证&#xff0c;因此直接通过API接口获取数据难度很大&#xff0c;本文使用selenium来实现新闻内容爬取。 selenium核心代码 知识点&#xff1a; 代码中加了很多的异常处理&#xff0c;保证错误后重试&#xff0c;…

抖音:当之无愧的短视频NO.1,新老用户奖励丰厚

论起短视频&#xff0c;如不提行业老大抖音&#xff0c;那是说不过去的。年底抖音也加入了波涛汹涌的红包大战&#xff0c;小伙伴们动动手指就能赚到真金白银的现金&#xff0c;何乐而不为&#xff01; 抖音简介 抖音是北京微播视界科技有限公司于2016年9月20日上线的一款音乐…

系统分析与校正方法——时域法

一、概述 时域法是一种直接在时间域中对系统进行分析和校正的方法。 优点&#xff1a;可以提供系统时间响应的全部信息&#xff0c;直观、准确。缺点&#xff1a;研究系统参数改变引起系统性能指标变化的趋势&#xff0c;及对系统进行校正设计时&#xff0c;时域法不是非常方…

钉钉算是在线办公系统的设计标杆,尽管它依然很难用

不吹不黑&#xff0c;钉钉界面谁的的确简洁&#xff0c;无奈它面向的是场景复杂的办公领域&#xff0c;导致其越来越臃肿难用&#xff0c;反正我是该研究研究&#xff0c;但绝对不会用的。 举报 评论 1

【Axure教程】拖动换位选择器

拖动换位选择器通常用于从一个列表中选择项目并将其移动到另一个列表中。用户可以通过拖动选项来实现选择和移动。这种交互方式在许多Web应用程序中很常见&#xff0c;特别是在需要对项目分组的情况下。 所以今天作者就教大家怎么在Axure用中继器制作一个拖动换位选择器的原型…

RK3568笔记二十五:RetinaFace人脸检测训练部署

若该文为原创文章&#xff0c;转载请注明原文出处。 一、介绍 Retinaface是来自insightFace的又一力作&#xff0c;基于one-stage的人脸检测网络。RetinaFace是在RetinaNet基础上引申出来的人脸检测框架&#xff0c;所以大致结构和RetinaNet非常像。 官方提供两种主干特征提取网…

4月手机行业线上市场销售数据分析

政府对智能手机行业的支持政策&#xff0c;如5G推广&#xff0c;以及相关的产业政策&#xff0c;都在一定程度上推动了智能手机市场的发展&#xff0c;再加上AI应用的推广和全球科技迅猛发展&#xff0c;中国手机市场在2024年迎来了恢复性增长。 据鲸参谋数据统计&#xff0c;…

鸟击防治设备 | 机场专用声光定向驱鸟系统分析

飞机与鸟类相撞&#xff0c;导致飞机受损&#xff0c;鸟类死亡&#xff0c;这被称作“鸟击事故”。全球范围内&#xff0c;每年都会发生多起鸟击事件&#xff0c;而大部分的鸟击都发生在飞机起降或低空飞行的阶段。因此&#xff0c;机场需要驱鸟、防鸟&#xff0c;确保鸟类远离…

Unity 直线间隔放置物体

直线间隔放置物体 设置 间隔距离 和 预制体在Scene中拖动即可按间隔距离实例化物体物体的朝向始终朝向统一方向&#xff0c;并且可以在Scene中拖拽更改 传送门

5.2 Go 参数传递

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

RocketMQ实战教程之RocketMQ安装(含Docker安装,建议收藏!)

RocketMQ实战教程之RocketMQ安装 这里实例采用centos系统天翼云为例,分别采用传统安装以及Docker安装的方式来进行RocketMQ的安装.JDK8我这边已经安装配置好了,这里就不在赘述.直接进入正题: 传统安装包安装 系统要求 64位操作系统&#xff0c;推荐 Linux/Unix/macOS64位 JDK…

el-table-column两种方法处理特殊字段,插槽和函数

问题&#xff1a;后端返回的字段为数字 解决办法&#xff1a; {{ row[item.prop] 1 ? "启用" : "禁用" }} {{ row[item.prop] }} 最终果&#xff1a; 另外&#xff1a;如果多种状态时可用函数 {{ getStatus(row[item.prop]) }} {{ row[item.prop…

java技术:oauth2协议

目录 一、黑马程序员Java进阶教程快速入门Spring Security OAuth2.0认证授权详解 1、oauth服务 WebSecurityConfig TokenConfig AuthorizationServer 改写密码校验逻辑实现类 2、oauth2支持的四种方式&#xff1a; 3、oauth2授权 ResouceServerConfig TokenConfig 4、…

linux---进程通信

提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、匿名管道 进程之间的通信目的一般是来控制另一个进程。也可以用来实现数据的交流&#xff0c;还有资源共享等。 匿名管道原理&#xff1a; &#xff08;铺垫&#xff09;进程之间是具有独立性&…

mysql实战——xtrabackup全量备份/增量备份及恢复

一、测试前准备 mysql数据库 端口3306数据文件目录 /data/mysql/3306/data 安装目录/usr/lcoal/mysql配置文件/etc/my.cnf 创建数据库 testXtra 创建备份目录 备份目录/data/backup/备份恢复数据文件目录/data/mysql/3307/data备份恢复配置文件/etc/my_3307.cnf 二、开始…

宠物医院兽医电子处方管理系统软件操作教程,佳易王兽医处方软件分享

试用超级版宠物医院兽医处方管理系统软件V17.3&#xff0c;软件功能实用&#xff0c;操作简单。试用版免费试用&#xff0c;技术支持可以联系客服。 一、软件下载说明及软件操作教程链接 软件下载请点击最下方官网卡片进入 1、软件下载注意事项 【特别说明&#xff1a;下载的…

比亚迪一4S店着火:浅述烟火识别技术与消防安全预警方案的必要性

据新闻报道&#xff0c;2024年5月16日&#xff0c;福建福州一家比亚迪4S店发生火灾。事发后&#xff0c;当地消防立即调员赶往现场救援&#xff0c;大火导致展厅展车基本烧毁&#xff0c;部分维修车辆受损&#xff0c;没有人员伤亡。 随着汽车市场的不断扩大&#xff0c;4S店作…

web自动化文件上传弹框处理

目录 文件上传介绍文件上传处理Alert 弹窗介绍Alert 弹窗处理 课程目标 掌握文件上传的场景以及文件上传的处理方式。掌握 Alert 弹窗的场景以及 Alert 弹窗的处理方式。 思考 碰到需要上传文件的场景&#xff0c;自动化测试应该如何解决&#xff1f; 文件上传处理 找到文…