java中什么时候用数组 java中什么时候用数组 举例说明
各位老铁们好,相信很多人对java中什么时候用数组都不是特别的了解,因此呢,今天就来为大家分享下关于java中什么时候用数组以及java中什么时候用数组 举例说明的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!
java中什么时候用数组 举例说明
什么样的类型能用到数组:所有类型。
什么时候用到数组:当你要用到的时候自然就用到了。
举例:
将一串数字21,6,3,4,8,6,2,8,9依次乘以1,2,3,4,5……
我们会很自然的定义一个数组int
a[]={21,6,3,4,8,6,2,8,9},而不是去定义九个变量来储存这九个数字,是不是涅?
然后很自然的用for(int
i=1;i<10;i++)a[i-1]*=i;
这里就是你需要用到的时候去用了。当然,如果你死要转牛角尖的话,恩,你是可以用定义九个变量的形式去完成这个事儿的。
当然,也有一些情况是你无法用定义更多变量的形式去替代数组滴,比如说从命令行输入一个int参数N给你的java程序,然后计算出N个从1开始的素数,将这N个素数保留以备用。
java数组有用吗
有用的,没用java为什么要它呢,而且是非常的有用。
1、没有数组,就没有集合Collection比如常用的List和Set容器,它们的底层都是用数组实现的。
2、java的框架就不能实现。如:struts、Hibernate、Spring等主流框架。
3、存储数据会变得很麻烦,或者说,你根本就不能存储集合类的数据了。
我们平时用数组可能不多,但是很多类的底层是通过数组实现的,我列举的还很有限。
Java数组有哪些用法
数组:是一组相关变量的集合数组是一组相关数据的集合,一个数组实际上就是一连串的变量,数组按照使用可以分为一维数组、二维数组、多维数组
数据的有点不使用数组定义100个整形变量:int i1;int i2;int 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中数组的类型
Java是一种强类型的语言。既然是对象,那么就必须属于一个类型,比如根据Person类创建一个对象,这个对象的类型就是Person。
int[] a1={1, 2, 3, 4};
System.out.println(a1.getClass().getName());
//打印出的数组类的名字为[I
String[] s= new String[2];
System.out.println(s.getClass().getName());
//打印出的数组类的名字为 [Ljava.lang.String;
String[][] ss= new String[2][3];
System.out.println(ss.getClass().getName());
//打印出的数组类的名字为 [[Ljava.lang.String;
虚拟机自动创建了数组类型,可以把数组类型和8种基本数据类型一样,当做java的内建类型。这种类型的命名规则是这样的。
每一维度用一个[表示;开头两个[,就代表是二维数组。
* [后面是数组中元素的类型(包括基本数据类型和引用数据类型)
在java语言层面上,s是数组,也是一个对象,那么他的类型应该是String[],这样说是合理的。但是在JVM中,他的类型为[java.lang.String。顺便说一句普通的类在JVM里的类型为包名+类名,也就是全限定名。同一个类型在java语言中和在虚拟机中的表示可能是不一样的。
END,本文到此结束,如果可以帮助到大家,还望关注本站哦!