【Java数据类型】Java数组详解

JAVA中的数组 在Java中,数组是用来存放同一种数据类型的集合,注意只能存放同一种数据类型(Object类型数组除外)。①、数组的声明1数据类型 [] 数组名称 =new数据类型[数组长度];这里 [] 可以放在数组名称的前面,也可以放在数组名称的后面,我们推荐放在数组名称的前面,这样看上去 数据类型 [] 表示的很明显是一个数组类型,而放在数组名称后面,则不是那么直观。1数据类型 [] 数组名称 = {数组元素1,数组元素2,......} 阅读详情

数组:

  • 同一种数据类型的元素;

  • 元素以顺序结构依次排列;

  • 在内存中是以一块连续的内存存储;

一维数组

数组申明
声明格式1:元素类型[] 数组名 = new 元素类型[元素个数或数组长度];【又叫动态初始化】

	int[] x = new int[3];
	x[0] = 1; //初始化
	x[1] = 2;

声明格式2:元素类型[] 数组名 = new 元素类型[]{元素,元素,……};【又叫静态初始化】

	int[] x=new int[]{1,2,3}; //初始化

声明格式3: 元素类型[] 数组名 = {元素…};

	int[] x = { 1, 2, 3 }; //初始化
	注意:没有用new的申明和初始化必须放在一条语句中;
	  int[] arr;
	  arr={1,2,3,4,5}; //这种是错误的
	  正确的是:int[] arr={1,2,3,4,5};

注意事项:
如果指定了容量,就不能在后加初始化列表;int[] a=new int[5]{1,2,3,4};这样是错误的;

静态初始化

静态初始化的格式:
数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3,...};
举例:int[] arr = new int[]{1,2,3};
简化格式:
  数据类型[] 数组名 = {元素1,元素2,元素3,...};
   int[] arr = {1,2,3};

//静态一维数组的示例
public class ArrayDemo {
   public static void main(String[] args) {
   	//定义数组
   	int[] arr = {1,2,3};
   	
   	//输出数组名和元素
   	System.out.println(arr); //打印数组的地址空间名
   	System.out.println(arr[0]);
   	System.out.println(arr[1]);
   	System.out.println(arr[2]);
   }
}

二维数组

二维数组:其实就是元素为一维数组的数组。
在这里插入图片描述
定义格式:
a) 数据类型[][] 数组名; (推荐的方式)
  int[][] aa;
b) 数据类型 数组名[][];
  int aa[][];
c) 数据类型[] 数组名[];
  int[] aa[];

初始化

A:动态初始化
 数据类型[][] 数组名 = new 数据类型[m][n];
  int[][] aa = new int[5][5;
其中,

  • m表示的是二维数组中一维数组的个数
  • n表示的是一维数组中的元素个数

B:静态初始化

  1. 数据类型[][] 数组名 = new 数据类型[][]{{元素…},{元素…},{元素…},…};
      int[][] aa = new int[][]{{1,2,3},{4,5,6}};
  2. 简化格式:数据类型[][] 数组名 = {{元素…},{元素…},{元素…},…};
      int[][] aa = {{1,2,3},{4,5,6}};

元素获取

二维数组名配合索引可以获取到每一个一维数组。每一个一维数组配合索引名可以获取到数组中的元素。
 假如我有一个二维数组:arr。
 我要从中获取一维数组:arr[索引]
 我要从中获取二维数组的元素:arr[索引][索引]

注:操作完全与C/C++一样。

实例

public class Main {
	public static void main(String[] args) {
		int[][] a; //申明;
		a=new int[2][3];//意思是:申请两个一维数组,每个一维数组分配3个存储空间;
		
		for(int i=0;i<2;i++)//使用数组;
		{
			for(int j=0;j<3;j++)
				a[i][j]=i*j;
		}
		
		int[][] d= {{1,2,3},{11,22,33}};//使用初始化列表来创建数组对象;
	}
}

Array类

位于java.util.Arrays 类能方便地操作数组,它提供的所有方法都是静态的,且包含多中数据类型的重载。

static方法一览:

  1. 查找搜索:binarySearch方法,基于二分查找搜索法。

  2. 拷贝数组:copyOf方法、copyOfRange方法。

  3. 判定相等:equals方法。

  4. 数组赋值:fill 方法。

  5. 数组排序:sort 方法,按升序。

  6. 转换为字符串:toString方法。

详见相关API

相关的错误和异常

ArrayIndexOutOfBoundsException:数组索引越界异常
产生的原因:我们访问了不存在的索引

NullPointerException:空指针异常
产生的原因:数组已经不在指向堆内存的数据了,你还使用数组名去访问元素

**错误实例: **

public class ArrayDemo {
		public static void main(String[] args) {
			//定义数组
			int[] arr = {1,2,3};
			
			//访问数组元素
			//System.out.println(arr[3]); 索引越界异常
			
			//引用类型:类,接口,数组
			//常量:空常量,null,是可以赋值给引用类型的
			arr = null;
			System.out.println(arr[1]); //空指针异常
		}
}

7、Java 数据类型、变量与数组详解 本文深入讲解了 Java 中的数据类型、变量和数组相关知识。重点介绍了 char 类型的特殊用途、boolean 类型的基本特性,以及整数、浮点、字符和字符串字面量的使用方式。同时详细解析了变量的声明、动态初始化方法及其作用域与生命周期,并结合示例代码演示了嵌套作用域对变量访问的影响。适合初学者全面掌握 Java 基础语法的核心内容。 阅读详情

相关推荐

别再为GEE注册发愁了!用谷歌Cloud Project,5分钟搞定谷歌地球引擎账户(保姆级图文)

本文提供2024最新版谷歌地球引擎(GEE)账户注册的保姆级教程,通过谷歌Cloud Project快速完成注册,5分钟极速通关。详细解析注册前的准备、分步图解流程、常见误区及解决方案,帮助用户避开90%的注册陷阱,直达GEE核心功能区。

weixin_42557830的博客 199

Java编程中的[ ]和{ }是表示什么意思?

【1】[]有两个用途,一是声明数组时使用,表示数组的长度,例如int a = new int[5],声明了长度为5的数组。 二是在正则表达式中,表示一个范围,例如:[a-z]表示取值在小写a到小写z之间copy 【2】{}是一个语句体,他是一段程序的边界, 例如:(1)class A{} 这里的{}表示类实体,凡是在{}中的内容均是类的变量(属性)或方法(函zd数) (2)public void ...

weixin_45673401的博客 1万+

注册电气工程师详细教材

注册电气工程师详细教材

qq_40844444的博客 4247

Java基础语法(数组)

Java基础语法(数组)

qq_59611876的博客 601

SAP MRKO与MIRO的对比分析:为何寄售结算需要定制开发?

本文深入分析了SAP系统中MRKO与MIRO在寄售结算中的功能差异,揭示了标准MRKO在财务控制和业务流程上的局限性。通过定制开发实践,如BAdI增强和界面优化,企业可显著提升结算效率与准确性。文章还探讨了未来SAP S/4HANA在寄售结算中的智能化趋势,为相关企业提供技术参考。

weixin_29300241的博客 419

YF-S401水流量传感器在STM32上的精准计量实现

本文详细介绍了YF-S401水流量传感器与STM32微控制器的集成应用,实现精准水流计量。通过外部中断和外部时钟两种脉冲计数方案,结合硬件配置、软件滤波和校准技巧,确保高精度流量测量。适用于智能家居和工业自动化中的水控系统,提升系统稳定性和测量准确性。

rainy的博客 896

排序算法-桶排序

非比较排序,以空间换取时间的一种排序方式,属于基数排序 package sort; import org.junit.Test; import utils.VerificationUtil; import java.util.Arrays; /** * @Author: wei1 * @Date: Create in 2018/12/27 21:26 * @Description: 桶...

维 269

驱动钛丝(SMA)的应用(5)汽车腰托气阀常见问题及解决方案

财哥在前段时间发布的《驱动钛丝(SMA)的应用(1)汽车腰托支撑按摩气阀模块》一文,引发了很多企业的拜访和交流。 目前很多厂家已经启动或正在进行相关研发,同时也遇到了诸如:钛丝选型、驱动位移、响应设计、温度控制、力量设计、点动滞后、铆接工艺、量化生产等问题。

weixin_39168671的博客 1240

Java 数组

本文章介绍了Java中数组的一些概念和一些方法的使用。

Naion的博客 2万+

新手也能写复杂爬虫!AI+Python自动分析京东商品,提取数据不用F12

不用F12:AI自动分析京东页面,生成选择器;不用懂JS:Playwright自动渲染动态数据;不用改代码:只需配置3个参数,复制运行就能出结果。这套方案不仅适用于京东,修改提示词后还能爬取淘宝、拼多多、亚马逊等电商网站,新手只需掌握“配置参数→运行代码→查看CSV”3步,就能轻松获取任意网站的结构化数据。未来,AI会让爬虫彻底进入“零代码、零门槛”时代,新手也能轻松搞定复杂数据爬取需求。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1340

2026年大数据开发工程师常见面试选择题

大数据面试高频考点解析 摘要:本文汇总了30道大数据开发面试高频题目,涵盖Hadoop生态、Spark、Flink、Kafka等核心组件。重点包括:1)HDFS架构与特性(5V特征、副本机制);2)MapReduce/Spark原理(Shuffle过程、RDD抽象);3)实时计算(Kafka消费组、Flink Watermark);4)数据仓库设计(分层模型、性能优化)。特别强调数据倾斜、小文件问题等实战场景的解决方案,以及从日志、资源等多维度排查任务异常的方法。掌握这些基础原理和典型问题应对策略,是应对大

不务正业的猿 450

Java数组动态初始化与数据类型传递详解

本文介绍了Java数组动态初始化格式及案例应用。首先说明了动态初始化语法"数据类型[] 数组名=new 数据类型[长度]",并给出示例。随后通过评委打分案例,演示了如何计算去掉最高最低分后的平均分,详细展示了数组遍历、求和及极值查找的实现方法。接着分析了数组操作中的两种常见异常:索引越界和空指针异常。最后对比了基本数据类型和引用数据类型在方法参数传递时的区别:基本类型传递值,不影响原变量;引用类型传递地址,会修改原对象内容。全文通过具体代码示例说明了这些关键概念的实际应用场景。

2301_77665258的博客 47

Transformer模型在时间序列预测中的应用:价格和产量预测

Transformer模型由Attention is All You Need论文提出,并在机器翻译任务上取得了巨大成功。其主要特点是使用自注意力机制代替传统的递归或卷积操作进行序列建模。Transformer模型由编码器和解码器组成,其中编码器用于学习输入序列的表示,解码器用于生成目标序列。在时间序列预测中,我们只需要使用Transformer的编码器部分。编码器将历史数据作为输入,学习一个表示,然后使用该表示来预测未来的数值。

HnrzLinux的博客 736

java php数据类型_PHP数据类型之数组变量详解

PHP数据类型之数组变量详解导语:PHP是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。下面我们来看看PHP数据类型之数组变量详解,希望对大家有所帮助。PHP中的数组实际上是一个有序图,是一种把values映射到keys的类型。一个数组实际上就是把一系列数字和字符串作为一个单元来进行处理。数组可以是二维、三维或者多维数组,其中的元素...

weixin_32171133的博客 130

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Java数据类型从小到大排序,Java Arrays类进行数组排序详解

排序算法,基本的高级语言都有一些提供。C语言有qsort()函数,C++有sort()函数,java语言有Arrays类(不是Array)。用这些排序时,都可以写自己的排序规则。Java API对Arrays类的说明是:此类包含用来操作数组(比如排序和搜索)的各种方法。1.对基本数据类型的数组的排序说明:(1)Arrays类中的sort()使用的是“经过调优的快速排序法”;(2)比如int[],d...

weixin_39899776的博客 629

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Java SE 031 Java数组剖析

(1)一个人只要自己不放弃自己,整个世界也不会放弃你. (2)天生我才必有大用 (3)不能忍受学习之苦就一定要忍受生活之苦,这是多么痛苦而深刻的领悟. (4)做难事必有所得 (5)精神乃真正的刀锋 (6)战胜对手有两次,第一次在内心中. (7)编写实属不易,若喜欢或者对你有帮助记得点赞+关注或者收藏哦~ Java SE 031 Java数组剖析 文章目录Java SE 031 Java数组剖析1.包装类(Wrapper class) 1.包装类(Wrapper class) (1)针对于原生数据类型的包.

青风百草 311

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

深入探讨 Java 语言的基本数据类型、字符串与数组

Java 的基本数据类型、字符串和数组构成了其强大的数据处理能力基础。基本数据类型提供了高效的存储和操作,字符串的不可变性和常量池机制带来了性能优化和线程安全性,而数组则提供了高效的随机访问和遍历能力。在实际开发中,合理选择和使用这些数据类型和结构,可以有效提升程序的性能和可维护性。通过深入理解这些基础概念,开发者可以更好地掌握 Java 编程的精髓,编写出高效、健壮的应用程序。

weixin_48313678的博客 1048

《Java 2 实用教程》课程学习(2)——第2章 基本数据类型与数组

1、标识符 2.2 JAVA语言的基本数据类型 2. 字符型 3. 整型 4. 实型 5. 基本数据类型的转换 (2) 强制类型转换 public class Example2_1 { public static void main (String args[ ]) { byte a=120; s...

qq_34573534的博客 269

Java基础数据类型、包装类型、字符串与数组全解析

通过理解基础数据类型与包装类型的存储差异、字符串处理类的线程安全与性能取舍、数组与集合的动态特性,开发者能根据场景选择最优方案。内存敏感场景:优先用基础类型数组。业务逻辑复杂场景:使用集合与StringBuilder。高并发环境:选择线程安全的StringBuffer和同步集合。

_程序猿 593

java第一周idea设置数据类型、方法、循环、数组

java基础

欢迎查阅 931

Java高级编程笔记1——数据类型,数组,运算符

编译器 javac 运行 java 数据类型:基本数据类型,对象类型。 { 基本数据类型:char boolean byte short int long float double { byte(有符号单字节整型-128~127) 0开头是八进制,0x十六进制 long ll = 123123L; default int float ff = 3.14f; default do...

adobemomo的博客 239

Java可变参数当传入基本数据类型数组时仅当作一个元素

Java可变参数当传入基本数据类型数组时仅当作一个元素 先上代码,抛块砖,大家可以找下不同。 System.out.println(Arrays.asList(new int[]{1,2}).size()); // 1 System.out.println(Arrays.asList(1,2).size()); // 2 System.out.println(Arrays.asList(new Integer[]{1,2}).size()); // 2 System.out.println(

最晴天 411

java渐进之路(一)基本数据类型与数组

Java基本数据类型与数组 思维导图 PTA题目 判断题 1-1 程序运行中可以改变数组的大小。 F 1-2 Java允许创建不规则数组,即Java多维数组中各行的列数可以不同。 T 1-3 数组也是对象。 T 1-4 使用方法length( )可以获得字符串或数组的长度。 F 1-5 一个数组可以存放不同类型的数值。 F 1-6 Java中数组的元素可以是简单数据类型的量,也可以是某一类的对象...

weixin_45739450的博客 3647

Java复习(5)数据类型、数组

文章目录数据类型1.基本数据类型2.引用数据类型3. 类型转化数组一维数组二维数组数组传值与传地址问题问题:Java中到底是传值还是传址? 数据类型 Java 数据类型分为:基本数据类型 与 引用数据类型 1.基本数据类型 基本数据类型包括 6种数字类型 和 字符类型、布尔类型,其中6种数字类型又可以分为 4个整数类型和两个浮点型。 2.引用数据类型 数组 [] 类class(抽象类 ab...

it_is_me_a的博客 401

Java基础之数据类型与数组

简单介绍了Java中的数据类型和数组的概念和用法 适合Java初学者

qq_43869106的博客 605

基本数据类型和数组

基本数据类型和数组 常量 概述: 常量:是指在Java程序中固定不变的数据。 分类: 变量 **变量:**常量是固定不变的数据,那么在程序中可以变化的量称为变量。 变量声明: 类型 变量名; int a; String str; 数据类型分类 Java的数据类型分为两大类: 基本数据类型:包括 整数 、 浮点数 、 字符 、 布尔 。 **引用数据类型:**包括 类 、 数组 、 接口 。 基本数据类型 四类八种基本数据类型: 一张表: 数据类型 关键字 内存占用 取值范围 字节型 by

weixin_45847783的博客 1545
上一篇: 【Java功能体】Java中的修饰符详解
下一篇: 【Java数据类型】运算符及其优先级详解
ALGO阿狗
博客等级 码龄9年 64粉丝 149原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值