学习JavaEE的日子 Day09 一维数组

server/2024/11/28 4:02:57/

day09 一维数组 { }

理解:一组数据的容器

应用场景:存储多个数据的时候可以考虑使用数组

概念:

1.数组是引用数据类型

2.数组中的数据,称之为元素

3.元素的都有编号,称之为下标/索引

4.下标从0开始

5.数组一旦初始化成功,长度不可改变,意味着数组只有修改和查询(操作容器一般是增删改查这四个功能)

数组的声明:数据类型[] 数组名/标识符;

内存理解图:

在这里插入图片描述

数组的优缺点

优点:具有随机访问的特性。

缺点:删除、插入数据效率低。

数组的初始化:

静态初始化:程序员指定元素,长度由系统自动分配

动态初始化:程序员指定长度,元素由系统自动分配

java">public static void main(String[] args){//静态初始化一://String[] names = new String[]{"小希","小空","小丽","小光","小玲"};//静态初始化二:先声明,再初始化//String[] names;//names = new String[]{"小希","小空","小丽","小光","小玲"};//静态初始化三:简写第一种写法,一般用这个String[] names = {"麻生希","椎名空","水菜丽","朝桐光","北岛玲"};//通过下标设置元素 -- 修改功能names[1] = "小李";//通过下标获取元素 -- 查询功能String str = names[1];System.out.println("通过下标获取元素:" + str);//小李//获取元素的个数 -- 查询功能int len = names.length;System.out.println("获取元素的个数:" + len);//5//遍历元素 -- for循环for(int i = 0;i<5;i++){System.out.println(names[i]);}System.out.println("-----------------");//遍历元素 -- foreach/增强for循环(循环依次取出元素并赋值给element)for(String element: names){System.out.println(element);}
}

一维数组静态初始化内存图:

在这里插入图片描述

注意:for vs foreach

循环中使用到下标时 – for

循环中没使用到下标时 – foreach

动态初始化:程序员指定长度,数据由系统自动分配

整数类型默认值:0 ps:int[] is = new int[5]; --> [0,0,0,0,0]
浮点类型默认值:0.0 ps:double[] ds = new double[5]; --> [0.0,0.0,0.0,0.0,0.0]
字符类型默认值:’ ’
布尔类型默认值:false
引用类型默认值:null(空)

注意:
1.不管是int[]还是double[],只要是数组都是引用数据类型
2.int[]是引用数据类型,该数组里的元素是基本数据类型

java">public static void main(String[] args){//动态初始化一://String[] names = new String[5];//5 - 5个连续的空间//动态初始化二:先声明,再初始化String[] names;names = new String[5];//通过下标设置元素 -- 修改功能names[0] = "黄显强";names[1] = "李林俊";names[2] = "陈宽朗";names[3] = "谢邦国";names[4] = "苏楚阳";//通过下标获取元素 -- 查询功能String str = names[1];System.out.println("通过下标获取元素:" + str);//李林俊//获取元素的个数 -- 查询功能int len = names.length;System.out.println("获取元素的个数:" + len);//5//遍历元素 -- for循环for(int i = 0;i<5;i++){System.out.println(names[i]);}System.out.println("-----------------");//遍历元素 -- foreach/增强for循环(循环依次取出元素并赋值给element)for(String element: names){System.out.println(element);}
}

一维数组定态初始化内存图:

在这里插入图片描述

需求:

创建5个长度的int数组,元素由用户输入,然后获取数组中的最大值,并输出

java">public static void main(String[] args){Scanner scan = new Scanner(System.in);int[] arr = new int[5];for(int i = 0;i<arr.length;i++){System.out.println("请输入第" + (i+1) + "个数字:");int num = scan.nextInt();arr[i] = num;}//假设第一个数字为最大值int max = arr[0];for(int element : arr){if(max < element){max = element;}}System.out.println("最大值为:" + max);}
}

总结

一维数组
概念
数组的声明
数组的初始化:静态初始化、动态初始化

简答题

length:需要知道数组元素时使用
length():需要知道字符串的字符数
size():集合中元素的数量

数组打印:Arrays.toString()

Java 中怎么打印数组?

你可以使用 Arrays.toString() 和 Arrays.deepToString() 方法来打印数组。由于数组没有实现 toString() 方法,所以如果将数组传递给 System.out.println()方法,将无法打印出数组的内容,但是 Arrays.toString() 可以打印每个元素。


http://www.ppmy.cn/server/145520.html

相关文章

docker 部署mysql 指导

使用Docker部署MySQL是一个相对简单但需要注意细节的过程。以下是一个详细的指导步骤&#xff1a; 一、前期准备 检查系统环境&#xff1a; 确保你的操作系统支持Docker。 检查Docker版本&#xff0c;确保它是最新版本或至少是一个稳定的版本。 检查Docker服务是否正在运行。 …

英雄联盟游戏使用生存分析预测玩家流失

1 引言 在过去的十年中&#xff0c;电子竞技&#xff08;esports&#xff09;已经成为一种受玩家和观众欢迎的形式&#xff0c;促进了一个庞大的行业和一个不断发展的研究领域 [19, 21, 25, 28, 37, 38]。虽然很难估计电子竞技市场的规模&#xff0c;但Superdata Research预测…

Ubuntu20.04下配置Cuda12.1+Cudnn

文中使用的是cuda_12.1.0_530.30.02_linux.run、cudnn-local-repo-ubuntu2004-8.9.7.29_1.0-1_amd64.deb 1、Cuda安装 使用以下命令运行安装Cuda&#xff0c;随后跳出图中的选择。 sudo bash cuda_12.1.0_530.30.02_linux.run因为安装过NVIDIA驱动了&#xff0c;所以将第一个D…

【SQL Server】华中农业大学空间数据库实验报告 实验四 完整性约束

1.实验目的 通过理论课的学习与实验指导书的帮助&#xff0c;在实验课操作的基础上进一步理解数据库中&#xff0c;实现数据完整性的概念及实施数据完整性的重要性&#xff0c;同时掌握数据完整性的分类&#xff0c;体会数据完整性约束的作用&#xff0c;加深对数据完整性及其…

IDEA插件CamelCase,快速转变命名格式

在IDEA上大小写转换的快捷键是 CtrlshitU 其它的格式转换的快捷键是 shitaltu 安装方法&#xff1a; file-settings-plugins-在marketplace搜索“CamelCase”-点击安装。 安装成功设置后&#xff0c;重新打开idea 下载完成后 点击 Apply 和OK 此刻就可以选中命名 并使用快捷…

CSDN 博客自动发布脚本(Python 含自动登录、定时发布)

文章目录 关于 csdn auto publisher使用 关于 csdn auto publisher 源码地址&#xff1a;https://github.com/ezscode/csdn_auto_publisher 使用 def test_simple_pub():file_path /Users/xx/Documents/xxx/tool.md article Article(file_path) article.tags [python] art…

基于机器视觉的表面缺陷检测

基于机器视觉的表面缺陷检测存在的问题与难点 - AVT相机|AVT红外相机|万兆网相机EVT|VIEWORKS线扫相|映美精相机|Specim多光谱相机|Adimec相机|Basler相机|富士能FUJINON镜头|理光RICOH镜头|OPTO远心镜头|SPO远心镜头|Navtar镜头|VST镜头|CCS光源|3D视觉引导机床上下料系统 (完…

LeetCode 4.寻找两个中序数组的中位数

力扣 4. 寻找两个正序数组的中位数 思路&#xff1a; 二分查找标记位计算中位数 细节&#xff1a; if (nums1.size() > nums2.size())return findMedianSortedArrays(nums2, nums1); 首先比较两个数组的大小&#xff0c;确保后续 nums1 的长度总是小于等于 nums2 的长度 …