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

Java—数 组

数组就是一个容器,用来存一批同种类型的数据。

一、静态初始化数组

1.1 定义方式

语法

  • 完整格式:数据类型 [ ] 数组名 = new 数据类型 []{ 元素 1 ,元素 2 ,元素3… };
  • 简化格式:数据类型 [ ] 数组名 = { 元素 1 ,元素 2 ,元素 3 ,… };

tips

  1. “数据类型 [ ] 数组名”也可写成 “数据类型 数组名 [ ] ” 。
  2. 什么类型的数组只能存放什么类型的数据。

示例:

public class test {public static void main(String[] args) {//完整格式定义数组int[] arr1=new int[]{1,2,3,4};char[] arr2=new char[]{'a','b','c','d','e'}; //注意字符用单引号,字符串用双引号//简单格式定义数组double[] arr3={3.14,4.45,6.68,2.1,3.5};}}    
}

tips(仅限Intellij IDEA):

1. 在写代码的时候,我们先输入“sout”,然后回车,可以快速得到输出语句,如下图所示:

2.定义main函数也是同理,我们先输入“main”,然后回车,可以快速得到main函数框架。

1.2 数组的访问

数组变量名中存储的是数组在内存中的地址,数组是一种引用数据类型。

我们访问数组中的元素可以通过数组下标索引的方式,语法:数组名[索引],数组的下标索引是从0开始的,到数组长度-1结束。访问数组时,下标索引不能超过数组最大索引,否则会出 bug ,出现索引越界的异常提示。

我们可以通过数组的方法,获取数组的长度,语法:数组名.length。

示例:

public class test {public static void main(String[] args) {//完整格式定义数组int[] arr1=new int[]{1,2,3,4,5};char[] arr2=new char[]{'a','b','c','d','e'}; //注意字符用单引号,字符串用双引号//简单格式定义数组double[] arr3={3.14,4.45,6.68,2.1,3.5};//打印测试System.out.println(arr1); //输出的是数组在内存中的地址System.out.println(arr1[0]);System.out.println(arr1[4]);System.out.println(arr1.length);}
}

输出:

[I@4eec7777
1
5
5

1.3 数组的遍历

数组的遍历一般结合for循环或者while循环,Java的循环和C语言的循环类似,本专栏不再赘述,详细可看C-循环语句_程序的内外循环-CSDN博客。

示例:

public class test {public static void main(String[] args) {//完整格式定义数组int[] arr1=new int[]{1,2,3,4,5};char[] arr2=new char[]{'a','b','c','d','e'}; //注意字符用单引号,字符串用双引号//简单格式定义数组double[] arr3={3.14,4.45,6.68,2.1,3.5};//for循环遍历数组for(int i=0;i<arr2.length;i++){System.out.println(arr2[i]);}//while循环遍历数组int j =0;while(j<arr3.length){System.out.println(arr3[j]);j++;}}
}

输出:

a
b
c
d
e
3.14
4.45
6.68
2.1
3.5

二、动态初始化数组

2.1 定义方式

数组的动态初始化,即定义数组时先不存入具体的元素值,只确定数组存储的数据类型和数组的长度。但访问方式和遍历方式与静态初始化数组相同。

语法:数据类型 [ ] 数组名 = new 数据类型 [ 长度 ];

示例:

public class test {public static void main(String[] args) {    //先动态定义int[] arr4=new int[4];//后赋值arr4[0]=23;arr4[1]=21;arr4[2]=37;arr4[3]=34;//遍历for(int n=0;n<arr4.length;n++){System.out.println(arr4[n]);}}
}

输出:

23
21
37
34

2.2 动态初始化数组元素默认值

代码验证:

public class test {public static void main(String[] args) {int[] arr1=new int[3];boolean[] arr2=new boolean[6];System.out.println(arr1[2]);System.out.println(arr2[2]);}
}

输出:

0
false

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

相关文章:

  • Unity 打包后 无阴影 阴影不显示
  • 通过音频的pcm数据格式利用canvas绘制音频波形图
  • 设计模式-- 原型模式详解
  • 为什么栈内存比堆内存速度快?
  • WEB漏洞-XSS跨站原理分类
  • CNN卷积神经网络知识点回顾学习(一)
  • Python爬虫实战:获取网yi新闻网财经信息并做数据分析,以供选股做参考
  • 【DC】buffer详解
  • Flink 数据清洗与字段标准化最佳实践
  • 如何通过python连接hive,并对里面的表进行增删改查操作
  • 根据JSON动态生成表单表格
  • ts中null类型--结合在vue中的使用、tsconfig.json
  • 解决 EasyExcel 填充图片占满单元格问题
  • leetcode0108. 将有序数组转换为二叉搜索树-medium
  • APP和小程序需要注册域名吗?(国科云)
  • JavaWeb:JavaScript
  • 【Go语言】RPC 使用指南(初学者版)
  • 深入理解C语言变量:从基础到实践
  • Electron从入门到入门
  • 资深程序员进阶设备分享,专业编程显示器RD280U
  • STM32驱动AD5318配置8通道DA详细讲解
  • 计算机组成原理:指令系统
  • 240425 leetcode exercises
  • 神经辐射场(NeRF)技术解析:3D重建与虚拟世界的未来
  • OceanBase 跻身 Forrester 三大领域代表厂商,全面支撑AI场景
  • 聚合分销小程序系统开发方案:整合AI对话、网盘、淘客CPS/CPA、电影票团购与会员卡业务
  • 蓝桥杯 6. 冰雹数
  • Kohya-ss-gui v25.0.3 训练Flux.1 大模型命令参数
  • TDengine 数据缓存技术
  • Android 编译问题 prebuilts/clang/host/linux-x86