数组:是一组相关变量的集合数组是一组相关数据的集合,一个数组实际上就是一连串的变量,数组按照使用可以分为一维数组、二维数组、多维数组
数据的有点不使用数组定义100个整形变量:int i1int i2int i3
使用数组定义 int i[100]
数组定义:int i[100]只是一个伪代码,只是表示含义的
(1)一维数组
一维数组可以存放上千万个数据,并且这些数据的类型是完全相同的,
使用java数组,必须经过两个步骤,声明数组和分配内存给该数组,
声明形式一
声明一维数组:数据类型 数组名[]=null
非配内存给数组:数组名=new 数据类型[长度]
声明形式二
声明一维数组:数据类型 [] 数组名=null
(2)java数据类型分为两大类
1.基本数据类型
int、long操作的时候本身就是具体的内容
引用数据类型:数组、类、接口
引用传递的就是一个内存的使用权,一块内存空间,可能有多个人同时使用
2.事例声明数组
数组的声明格式里,数据类型是数组元素的数据类型,常见的有整形、浮点型、与字符型等
数组名是用来统一这组相同数据类型元素的名称,其命名规则和变量的相同
数组声明后实际上是在栈内存中保存了此数组的名称,结下了是要在堆内存中配置数组所需要的内存,齐产固定是告诉编译器,所声明的数组要存放多少个元素,而new 则是命令编译器根据括号里的长度。
基本数据类型偶读有其默认值:int 0只要是引用数据类型默认值就是null事例
声明数组的同时分配内存空间
声明数组的同时非配内存
数据类型 数组名[]=new 数据类型[个数]
int score[]=new int[10]
声明一个元素个数为10的整形数组score,同时开辟依靠内存空间工期使用
java中,由于整形数据类型占用的空间为4个byte,而整个数组score可保存的元素有10个。所以上例中占用的内存共有4*10=40个字节
(3)数组的访问
数组中元素的表示方法
想要访问数组里的元素可以利用索引来完成,java的数组索引标号由10开始,以一个score[10]的整形数组为例,score[0]代表第一个元素
一直向下,最后一个为score[9]
(4)取得数组的长度
在java中取得数组的长度(也就是数组元素的长度)可以利用数组名称.length完成,
数组名称.length--返回一个int类型的数据
(5)数组的静态初始化
之前的数组,所采用的都是动态初始化,所有的内容在数组声明的时候并不具体的指定,而是以默认值的形式出现
静态初始化是指在数组声明后直接为数组指定具体的内容
如果想要直接在声明的时候给数组赋初始值,可以采用大括号完成,只要在数组的生命格式后面加上初值的赋值即可,
数据类型 数组名 []={初始值0,初始值1,初始值3,....初始值n}
范例排序,在操作中排序是比较常用的从大到小
这个时候不要被i值所迷惑 if(score[i]>score[j]){
这一步主要知识为了比较,实际上完成之后输出的时候是根据j的值排序的
(6)二维数组
二维数组声明的方式和以为数组的类似,内存分配也一样是用new这个关键字
其实声明与分配内存的格式如下
动态初始化
数据类型 数组名[][]
数组名=new 数据类型[行的个数][列的个数]
声明并初始化数组
数据类型 数组名[][]=new 数据类型[行的个数][列的个数]
静态初始化
(7)二维数组的存储
声明二维数组score 同时开辟一段内存空间
int score[][]=new int[4][3]
整体数据score可保存的元素是4*3=12个,在java中,int数据类型所占用的空间为4个字节,因此该整形数组占用的内存共为4*12=48个字节
事例
(8)二维数组静态初始化
用到的时候才会开辟空间,不用的(红色部分)则不开辟空间多维数组一般只是用到二维数组三维数组简单了解
在Java的赋值语句中不能够给整形的数组赋值成一个空值,Java会给int一维数组赋值为0,但是要想实现空值的类型那么将int数组转换为Integer数组,Integer可以为空, 但int 不能为空。
数组是有序的元素序列。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。
数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按有序的形式组织起来的一种形式。
扩展资料:
Java的语言特点:
Java看起来设计得很像C++,但是为了使语言小和容易熟悉,设计者们把C++语言中许多可用的特征去掉了,这些特征是一般程序员很少使用的。
例如,Java不支持go to语句,代之以提供break和continue语句以及异常处理。
Java还剔除了C++的操作符过载(overload)和多继承特征,并且不使用主文件,免去了预处理程序。因为Java没有结构,数组和串都是对象,所以不需要指针。
Java能够自动处理对象的引用和间接引用,实现自动的无用单元收集,使用户不必为存储管理问题烦恼,能更多的时间和精力花在研发上。
技术应用:
1、Android应用、在金融业应用的服务器程序、、网站、嵌入式领域、、大数据技术、高频交易的空间。
数组的特点:
1、数组是相同数据类型的元素的集合。
2、数组中的各元素的存储是有先后顺序的,它们在内存中按照这个先后顺序连续存放在一起。
参考资料来源:百度百科-Java
参考资料来源:百度百科-数组
在Java中,数组对象Array的长度是在实例化时就定死了,不能修改。
像你这种情况,一般是新建一个数组,重新设置长度,可能的话再将老数组里的值拷贝进去:
public class ArrayTest {
public static void main(String[] args) {
int[] arr1 = { 1, 2, 3, 4, 5 }// 初始化一个数组,长度是5(定死了)
int[] arr2 = new int[10]// 重新初始化数组,长度是10
// 将老数组复制到新数组
for (int i = 0i <arr1.lengthi++) {
arr2[i] = arr1[i]
}
// 将老数组对象arr1指向新数组
arr1 = arr2
// 如果不要复制,最简单的就是直接实例化
int[] arr1_1 = new int[5]// 初始化一个数组,长度是5(定死了)
arr1_1 = new int[10]// 再实例化一次,就是一个新数组,以前数组里的东西就不存在类
}
}