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

数组相关学习

一、定义:

1.定义数组格式:

(1)动态初始化:只定义数组存储数据类型和长度,不定义数组具体数据。

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

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

(2)静态初始化:直接给出数据。

                                数据类型[ ] 数组名 = {元素1,元素2,元素3,......}

二、操作:

1.获取数组长度:

(1)格式:数组名.length(注意:length不是方法,后面不加小括号

2.索引:

(1)定义:元素在数组中的位置(编号、下标)。

3.存储元素:

(1)格式:数组名[索引值] = 值

(2)手动添加数据:可使用Scanna套用循环添加;

          自动随机添加数据:可使用Random套用循环添加;

          注意:循环中可使条件小于数组长度array.length

3.获取元素:

(1)格式:数组名[索引]

4.遍历数组:

(1)for循环遍历,快捷键:数组名.fori

(2)数组操作常见问题:

a.数组索引越界异常_ArrayIndexOutOfBoundsException

b.空指针异常_NullPinterException

        当一个对象为null时,再调用这个对象中的其他成员。

三、数组相关练习:

1.随机产生10个【0,100】之间的整数,统计既是3的倍数又是5的倍数,但不是7的倍数的个数:

        Random rdm = new Random();int[] arr = new int[10];for (int i = 0; i < arr.length; i++) {arr[i] = rdm.nextInt(101);}int count = 0;for (int i = 0; i < arr.length; i++) {if (arr[i]%3==0&&arr[i]%5==0&&arr[i]%7!=0){count++;}System.out.print(arr[i]+",");}System.out.println(count);

2.定义一个数组{1,2,3,4},以【1,2,3,4】的形式输出:

        int[] arr = {1,2,3,4};System.out.print("[");for (int i = 0; i < arr.length; i++) {if (i == arr.length-1) {System.out.print(arr[i] + "]");}else {System.out.print(arr[i]+",");}}

3.键盘录入一个数据,给出这个数据在数组中的索引位置:

        Scanner sc = new Scanner(System.in);int[] arr = {1,5,9,8,6,4,2,3,0};int i = sc.nextInt();int flag = 0;for (int j = 0; j < arr.length; j++) {if (i == arr[j]){System.out.println(j);flag++;}}if (flag == 0){System.out.println(-1);}

4.数组复制:

        int[] arr1 = {1,2,3,5,8,9};int[] arr2 = new int[6];int j = 0;for (int i = 0; i < arr1.length; i++) {if (i==j) {arr2[j] = arr1[i];j++;}}System.out.print("[");for (int k = 0; k < arr2.length; k++) {if (k == arr2.length-1){System.out.print(arr2[k]+"]");}else {System.out.print(arr2[k]+",");}}

5.数组扩容,将数组{1,2,3,4,5}长度扩容到10:

        int[] OldArr = {1,2,3,4,5};int[] NewArr = new int[10];for (int i = 0; i < OldArr.length; i++) {NewArr[i] = OldArr[i];}OldArr = NewArr;System.out.println(OldArr.length);for (int i = 0; i < OldArr.length; i++) {System.out.print(OldArr[i]+",");}

6.数组合并,将arr1{1,2,3}和arr2{4,5,6}合并成一个新数组:

        int[] arr1 = {1,2,3};int[] arr2 = {4,5,6};int[] NewArr = new int[arr1.length + arr2.length];for (int i = 0; i < arr1.length; i++) {NewArr[i] = arr1[i];}int len = arr1.length;for (int i = 0; i < arr2.length; i++) {/*已经将arr1数值插入到NewArr中,所以arr2要从arr1最后一个索引位置的后一位开始*/NewArr[len+i] = arr2[i];}for (int i = 0; i < NewArr.length; i++) {System.out.print(NewArr[i]+",");}
http://www.dtcms.com/a/297788.html

相关文章:

  • IP证书:构建数字世界知识产权安全防线的基石
  • Jenkins构建间代码变更记录追踪方案
  • JAVA知识点(四):SpringBoot与分布式、微服务架构
  • 从huggingface上下载模型
  • 前端学习日记(十三)
  • Qt 网络编程进阶:HTTP 客户端实现
  • Microsoft-DNN NTLM暴露漏洞复现(CVE-2025-52488)
  • 使用Python绘制金融数据可视化工具
  • ISIS高级特性LSP的分片扩展
  • k8s下springboot-admin 监控服务部署,客户端接入
  • MYSQL高可用集群搭建--docker
  • Go语言环境搭建与VS Code开发配置
  • OneNote 当前无法同步笔记。将继续尝试。 (错误代码: 0xE00009C8 bb0ur)问题解决
  • Qt 与 MySQL 高级应用开发
  • pytorch学习笔记-使用DataLoader加载固有Datasets(CIFAR10),使用tensorboard进行可视化
  • 第三篇:VAE架构详解与PyTorch实现:从零构建AI的“视觉压缩引擎”
  • 星图云开发者平台新功能速递 | 页面编辑器:全场景编辑器,提供系统全面的解决方案
  • SQL性能优化
  • 【初识数据结构】CS61B中的快速排序
  • 2025年第四届创新杯(原钉钉杯)赛题浅析-助攻快速选题
  • 【c++】问答系统代码改进解析:新增日志系统提升可维护性——关于我用AI编写了一个聊天机器人……(14)
  • 【C++进阶】第7课—红黑树
  • 什么是主成分分析法和方差
  • 【神经网络概述】从感知机到深度神经网络(CNN RNN)
  • 高级05-Java NIO:高效处理网络与文件IO
  • 【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts) 视频教程 - 主页-评论用户时间占比环形饼状图实现
  • vbs-实现模拟打开excel和强制计算和保存
  • 7月25日总结
  • Android Kotlin 协程全面指南
  • Thinkphp8 Redis队列与消息队列Queue