前言:
目前同学们对“java求数组最大值”可能比较珍视,小伙伴们都需要学习一些“java求数组最大值”的相关资讯。那么小编同时在网络上搜集了一些有关“java求数组最大值””的相关资讯,希望你们能喜欢,同学们快快来了解一下吧!大家晚上好,我是小颜在Study,今天照常打卡自学java第九天,不知不觉已经九天了,离开学越来越近了,到时候会更忙!先不想这么多,大家多多支持啊!奔跑起来!冲冲冲!!!
第九天学习java一、数组初始化之静态初始化
(1)定义:初始化指的是每个数组元素的初始值,由系统决定数组长度(与动态的区别所在)
(2)格式:(两种格式,推荐第二种简化的格式)
①数据类型 [ ] 变量名 = new 数据类型 [ ] { 数据1 ,数据2 ……};
举例: int [ ] arr = new int [ ] { 1,2,3,4};
②数据类型 [ ] 变量名 = { 1 ,3,4,5};
举例: int [ ] arr = {1,3,4,5};
(3)数组操作的两个常见小问题。
①索引越界。
解释:就是你定义的长度或者本身长度只有3,而你却去获取第四个索引,这样就会报错。例如:
int [ ] arr = int [ 3 ] ;
System.out.println(arr [ 3 ] ) ;
这样就会报错,因为索引只有0 、1、2。上面你访问了3号索引没有。
②空指针异常:
解释:访问的数组已经不在指向堆内存(即左边的数据)的数据,将会造成空指针异常。例如:
int [ ] arr = int [ 3 ] ;
arr = null;//这时使得原来的数组初始值变成了null,这就造成了空指针异常。
System.out.println(arr [ 3 ] ) ;
③ null :空值,引用数据类型的默认值,表示不指向任何有效对象。
二、数组常见操作
(1)遍历:
在我们学了静态初始化数组之后,我们会发现:
int [ ] arr = {200,3,5,100,3};
这么多数据时,我们应该怎么把它输出出来,按照老方法,我们会这样:
System.out.println(arr [ 0 ]);
System.out.println(arr [ 1 ]);
System.out.println(arr [ 2 ]);
System.out.println(arr [ 3]);
这样是不是太麻烦了,没错,我们可以使用for循环来代替。
哪里是变化的,就是里面的索引是变化的吧,而且还是逐一增加。所以我们可以写成:
for (int x = 0 ; x < 4 ; x ++){
System.out.println(arr [ x]);
}
这样就实现了上述操作,是不是简单多了。这时问题又来了,你会发现,当数组的元素很多时,我们不可能一个一个去数才能确定x的范围。因此,这里我们可以使用一个获取数组元素数量的方法:
格式:数组名.length
因此我们的for循环遍历可以写成这样:
for (int x= 0; x < arr.lenth; x ++){
System.out.println(arr [x]);
}
这样就不管数组有多少,我们都可以一一地把他的内容遍历出来。上述这样的写法也可以是通用格式:
int [ ] arr = {……};
for (int x = 0; x < arr.lenth; x ++ ){
arr[ x ] //这里可以对arr[ x ] 操作。
}
三、案例获取最值
(1)语境:当我们有一堆数据时,例如几个人的年龄,如何从中比较出最大的那个人和最小的那个人。
(2)步骤:
①先将它们定义成一个数组,并且定义个max储存它们的最大年龄。
int [ ] arr = { 30 ,12,46,3,18,70,48};
int max;
②使用for循环将它们遍历出来。每遍历一个比较一次,也就是我们需要拿一个初始数据去对比。这里我们将索引0作为初始对比数据。
所以先用定义第一个数据:
int max = arr [ 0 ] ;//定义一个初始数据去对比
for (x = 1 ; x < arr .lenth; x ++){
//因为0 已经做初始数据了,所以这里从1开始
if (arr [ x ] > max ){
//每遍历一个数据出来与初始值对比.
max = arr [ x ] ;
}
//最后输出:
System.out.println(“ max :” + max );
}
今天就学习到这里!!!!明天见!!
标签: #java求数组最大值