java的数组认识与创建方式
创始人
2024-06-01 13:43:06
0

    数组:可以看成是相同类型元素的一个集合。在内存中是一段连续的空间。那么我们为什么要使用数组呢?因为如果我们要很多个相同类型的变量,如果我们一个一个的创建,那么这将耗费我们大量的时间,既然如此,为什么不直接创建出大量的变量供我们使用呢?这就是我们为什么要学习数组的原因。

知道数组后,我们还得知道如何定义一个数组,定义数组有三种方法,一种是直接定义,像C语言一样,一种是前面加个new 数据类型【 】,然后在后面输入数据就行,还有一种是动态定义,就是你不给它初始化,什么时候用到,什么时候初始化。不过第一种和第二种是一样的,这只是为了让我们知道有多种定义罢了。

int[] array1 = {0,1,2,3,4,5,6,7,8,9};
double[] array2 = new double[]{1.0, 2.0, 3.0, 4.0, 5.0};
int[] array = new int[10];

相信学过C语言的同学已经发现,这个【】怎么放在变量名前面啊?其实这只是为了方便阅读罢了,毕竟数据类型的变量定义时类型都放在前面,而数组也是一种数据类型,当然要将【】放在前面啊,那么按照C语言的方式定义数组可不可以呢?

int arr[] = {1,2,3,4,5};
System.out.println(Arrays.toString(arr));

当然可以,不过我们Java不建议这么写,毕竟这样写不好阅读,还有就是别的数据类型都只在变量名前面,凭什么你数组就清高,可以夹着变量名(滑稽)。

我们创建数组之后那么肯定是要使用的,我们可以根据索引来找到相应的数据,索引也就是下标,它的使用方法和C语言一样,这我就不细说了。

二维数组的用法和一维数组并没有明显差别, 因此我们不再赘述,不过有个与C语言不同的是,它不能省略行,但可以省略列,这与C语言正好相反,那么这代表着什么呢?代表着二维数组的每一个数据都可以包含不同的数组长度,这极大的增强了数组的灵活性。

int[][] arr2 = new int[3][]; 
arr2[1] = new int[5];
arr2[0] = new int[4];

在说一个点,如果我们只定义了数组而不初始化的化,那么数组里面放的是什么呢?int类型放的是0,那么其他的呢?我们以后再说。不过即使这样,我们还是不能修改数组长度,也就是说当我们定义数组时,他的长度就已经确定了,那么我们能不能修改他的长度呢?如C语言的realloc和malloc之类的,其实没有,但是java提供了另一种方法,但是这不属于数组的范围了,我们以后再说。

相关内容

热门资讯

中证A500ETF摩根(560... 8月22日,截止午间收盘,中证A500ETF摩根(560530)涨1.19%,报1.106元,成交额...
A500ETF易方达(1593... 8月22日,截止午间收盘,A500ETF易方达(159361)涨1.28%,报1.104元,成交额1...
何小鹏斥资约2.5亿港元增持小... 每经记者|孙磊    每经编辑|裴健如 8月21日晚间,小鹏汽车发布公告称,公司联...
中证500ETF基金(1593... 8月22日,截止午间收盘,中证500ETF基金(159337)涨0.94%,报1.509元,成交额2...
中证A500ETF华安(159... 8月22日,截止午间收盘,中证A500ETF华安(159359)涨1.15%,报1.139元,成交额...
科创AIETF(588790)... 8月22日,截止午间收盘,科创AIETF(588790)涨4.83%,报0.760元,成交额6.98...
创业板50ETF嘉实(1593... 8月22日,截止午间收盘,创业板50ETF嘉实(159373)涨2.61%,报1.296元,成交额1...
港股异动丨航空股大幅走低 中国... 港股航空股大幅下跌,其中,中国国航跌近7%表现最弱,中国东方航空跌近5%,中国南方航空跌超3%,美兰...
电网设备ETF(159326)... 8月22日,截止午间收盘,电网设备ETF(159326)跌0.25%,报1.198元,成交额409....
红利ETF国企(530880)... 8月22日,截止午间收盘,红利ETF国企(530880)跌0.67%,报1.034元,成交额29.0...