Java中的数组(习题讲解)

在上期文章中,为了让大家对数组的理解更加深刻,同时也为了巩固我们之前所学的知识,所以给大家留了两个小练习,不知道大家在练习中是否有遇到一些疑问或是困难,今天让我来给大家讲解一下吧:

首先是第一题:

练习一:

定义数组并为其元素赋值,再使用循环语句,将数组中的元素求和。

int[] nums = {10,20,30,40,50};//分别将10,20,30,40,50五个元素存入数组
/*因为在Java中数组下标从0开始记录,所以此时数组中元素的状态为:nums[0]=10;nums[1]=20;nums[2]=30;nums[3]=40;nums[4]=50;
同时,由于数组中存入了五个元素,因此nums[]数组的长度也就为5,因此length=5
*/
int sum=0;//定义一个sum变量,用来存储每次累加和的结果
for (int i=0;i<nums.length;i++){
/*由于数组下标从0开始记录,所以我们要想拿到第一个元素,就是要拿到0位置的元素,
我们将i的初值定为0,意思为从第一个元素开始取值。
经过刚刚的分析,我们已经知道了nums.length其实就是5,所以表达式2实际上可以看作i<5,
当i等于4时,已经取出了0-4位置上的值,因此i=5时,循环就可以结束了*/
sum=sum+nums[i];
/*求累加和的过程,第一次循环结束sum=10,所以第二次循环结束sum=10+20,第三次即为10+20+30,以此类推,第五次循环过后,sum=10+20+30+40+50,即五个元素的累加和*/
}
System.out.println(sum);//输出结果

好了,练习一的程序以及讲解就在上面为大家说明完毕了,其实求累加和的过程和我们之前在循环的那个1-100的案例是一样的,如果还是不太清晰,欢迎大家回顾

Java入门:04.java中的顺序、分支和循环结构003-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/a2018204587/article/details/140611992?spm=1001.2014.3001.5501

练习二:

定义数组并为其元素赋值,再使用循环语句,找到其中的最大值并将其输出。

int[] nums = {10,20,30,40,50};
int max=nums[0];//假设第一个元素最大
for (int i=1;i<nums.length;i++){//数组元素从头取到尾
   if(nums[i]>max){//第i个元素比现有的最大值还大吗?
   max=nums[i];//确实,那么他就是新的最大值了
   }
   //如果条件为假,程序不会进入分支,说明第i个元素没有max大,因此不发生变化,循环继续进行
}
System.out.println(max);

其实原理和刚刚的练习类似,同样是创建一个数组,再利用循环依次使用每个元素进行操作。

区别就在于,刚刚是求和操作,而这里是比较操作;

那么我们来看变量max,为什么将它赋值为nums[0]呢,因为我们有五个元素,那么谁最大呢,我就假设是第一个元素,看看其它元素是否比第一个大,如果是,那么就把它赋给max,新的max诞生,循环继续进行,看有没有比max更大的,谁比max更大,谁就是新的max。因此循环结束后,max中的值就一定是最大的了。

那么今天的内容就到这里啦,如果存在哪些疑问或问题欢迎大家指出,我们下期再见~

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值