数组的遍历 获取最大值最小值 数组的反转 数组的查找 练习 定义方法创建指定大小的数组,并添加指定元素 拼接两个数组

感觉数组的运用还是得靠大量的实操练习才能深刻理解,像遍历取大小值和反转查下标这种系统本身就有提供现成的方法,但不通过方法就能实现功能的练习还是很必要的,这些会加强你对数组的理解。下面就罗列了些常用的方法和一些数组的练习

数组的遍历

根据数组中的索引值的改变,一个一个的访问数组中的元素,再把每个元素都打印出来

package Chating;
public class Shuzu {public static void main(String[] args) {//数组的遍历int[] arr = {1,2,3,4,5};for(int i = 0; i < arr.length; i++) {//数组的长度  arr.lengthSystem.out.print(arr[i]+" ");//把元素都打印出来,每个中间加空格}}
}

数组获取最大值

给定一个数组,求出数组的最大值

思路:擂台思想

预设一个默认最大值max当做擂主,数组中所有元素为挑战者,通过遍历与max一一挑战比较大小,如果数组中元素比max大,就把该元素的值赋值给max,否则不做任何操作,进行下一组的比较,循环结束max存储的就是最大值

package Chating;
public class Shuzu {public static void main(String[] args) {int[] arr = {11,257,0,99};int max = 0;//预设最大值maxfor(int i = 0; i < arr.length; i++) {//遍历数组 一个一个与max比较大小if (max<arr[i]) {//如果max比数组元素小max = arr[i];//数组元素赋值给max}}System.out.println("最大值为"+max);//循环结束max储存的就是最大值}
}

获取最小值

与获取最大值同理,把预设的最大值max变成最小值min,再通过遍历与数组元素进行比较,如果数组元素比min小,就赋值给min,否则不做任何操作,进行下一组的比较,循环结束min即为最小值

package Chating;
public class Shuzu {public static void main(String[] args) {int[] arr = {11,257,0,99};int min = 0;//预设最小值minfor(int i = 0; i < arr.length; i++) {//遍历数组 一个一个与min比较大小if (min>arr[i]) {//如果min比数组元素大min = arr[i];//数组元素赋值给min}}System.out.println("最小值为"+min);//循环结束min储存的就是最小值}
}

数组的反转

元素前后的交换 如{1,2,3,4} — {4,3,2,1}

思路:

  • 预设个数值t做中间交换值

  • 把首位值(arr[0])赋值给t做储存

  • 再把末位值(arr[arr.lenght])赋值给首位值

  • 最后把储存在t中的首位值赋值给末位值(arr[arr.lenght])

  • 完成前后位数组的交换,通过遍历完成整个数组的交换

    注意:前一位的遍历坐标必须小于后位的坐标,否则如果数组中的元素数量是偶数,前位坐标大于后位坐标,就会重新交换回原样

package Chating;public class Shuzu {public static void main(String[] args) {int[] arr = {11,257,0,99};for (int i = 0,j = arr.length-1; i<j;i++,j--) {//i为第一位的坐标,j为末位坐标,根据循环递增减//前一位的遍历坐标必须小于后位的坐标 i<jint t = arr[i];//预设中间数t被赋值保存第一位的数值arr[i] = arr[j];//把末位的数值赋值给第一位arr[j] = t;//把t中保存的第一位的数值赋值给末位}for (int i = 0; i < arr.length; i++) {System.out.print(arr[i]+" ");}}
}

数组的查找

指定元素数值,从数组中找出坐标

package Chating;import java.util.Scanner;
public class Shuzu {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.print("请输入要查询的元素:");int num = sc.nextInt();int index = 0;//定义一个变量,用于接收索引值int[] arr = {34,0,6,208};for(int i = 0; i < arr.length; i++) {if(num == arr[i]) {//判断输入的数值是否与数组中的元素相同index = i;//如果有相同的数值就输出坐标System.out.println("数组中该元素的索引为: " + i);break;}if (i==arr.length-1) {//表示遍历完数组全部长度没有找出相同数值System.out.println("查无此元素");}}}
}



练习

定义个方法,创建一个指定大小的数组,并向该数组添加指定元素,最后打印

package Chating;import java.util.Scanner;
public class Shuzu {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.print("请输入数组大小:");int num = sc.nextInt();//键盘录入指定数组大小shuzu(num);//调用方法}public static void shuzu(int num) {int j = 0;int[] arr = new int[num];while (j<num) {//循环输入元素的次数等于指定数组的大小数Scanner sc = new Scanner(System.in);System.out.print("请输入要加入的元素:");int n = sc.nextInt();//键盘录入要加入的元素arr[j]+=n;//每个元素下标上循环赋值j++;}for (int i = 0; i < arr.length; i++) {System.out.print(arr[i]+" ");}}
}


给出两个数组,数组A {1,3,5,7,9,11}数组B{2,4,6,8,10}拼接为数组C{1,3,5,7,9,11,2,4,6,8,10};

package Chating;public class Shuzu {public static void main(String[] args) {int[] A = {1,3,5,7,9,11};int[] B = {2,4,6,8,10};int[] C = new int[A.length + B.length];//创建一个C元素个数是A和B的和for(int i = 0; i < A.length; i++) {//把数组A中的元素赋值到C中,C[i] = A[i];//赋值的个数为A.length个}for(int i = 0; i < B.length; i++) {//把数组B中的元素赋值到C中,C[A.length + i] = B[i];//赋值的个数为A.length个,赋值的起点为前一循环A.length + i开始}//C中原有A种的6个元素,所以B数组的赋值从下标6开始,往后递增(A.length + i = 6)for(int i = 0; i < C.length; i++) {System.out.print(C[i]+" ");}}
}

JAVA数组的遍历 获取最大值最小值 数组的反转 数组的查找 练习 定义方法创建指定大小的数组,并添加指定元素 拼接两个数组相关推荐

  1. pandas获取最大值/最小值对应的index

    生成数据 import pandas as pddf: pd.DataFrame = pd.DataFrame([[1, 4.2],[70, 0.03],[5, 0] ], columns=['one ...

  2. python拼接两个数组_在Python中连接两个数组

    根据你的描述,你的案子看起来像:In [344]: a=[np.arange(5),np.arange(5)] In [345]: b=[np.arange(5),np.arange(3)] In [ ...

  3. JAVA笔记- JAVA对象数组的遍历与使用详解

    1- 对象数组概述 基本类型的数组:存储的元素为基本类型 int[] arr={1,2,3,4} 对象数组:存储的元素为引用类型 Student[] stus=new Student[3]; 解释:: ...

  4. java 蓝桥杯算法训练 最大值与最小值的计算(题解)

    试题 算法训练 最大值与最小值的计算 资源限制 时间限制:1.0s 内存限制:512.0MB 输入11个整数,计算它们的最大值和最小值. 样例输入 0 1 2 3 4 5 6 7 8 9 10 样例输 ...

  5. java合并两个数组_「JAVA」两个数组的交集—力扣每日一题(一)

    示例 1: 输入: nums1 = [1,2,2,1], nums2 = [2,2] 输出: [2,2] 示例 2: 输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4] ...

  6. java计算两个数组的交集_回顾面试题:计算两个数组交集

    背景 工作多年,语言经历过C#,JAVA.但是做过的项目大多以业务系统为主,曾经做过一些基础架构的工作,但算法一直在工作中应用的比较少,导致多年之后基本都忘记完了.上一次面试过程中就有一个算法题,我能 ...

  7. java删除数组里的两个_java – 如何从两个数组列表中删除常用值

    我们如何从两个ArrayList中删除常用值. 让我们考虑我有两个Arraylist,如下所示 ArrayList1= [1,2,3,4] ArrayList1= [2,3,4,6,7] 我希望得到结 ...

  8. Leetcode-数据结构-350. 两个数组的交集 II

    问题 给两个整数数组 nums1 和 nums2 ,请以 数组形式 返回两数组的 交集 (其在交集中出现的次数:等于该数字在两个数组中出现次数的最小值). 返回结果中 每个元素出现的次数(for遍历) ...

  9. php 两个数组求交集_如何求两个数组的交集

    题目描述 给定两个数组,编写一个函数来计算它们的交集. 示例 1: 输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2] 示例 2: 输入:nums1 = [4,9,5] ...

  10. 2019-03-14-算法-进化(两个数组的交集 II)

    题目描述 给定两个数组,编写一个函数来计算它们的交集. 示例 1: 输入: nums1 = [1,2,2,1], nums2 = [2,2] 输出: [2,2] 示例 2: 输入: nums1 = [ ...

最新文章

  1. Window 2000 网络操作命令全释
  2. 40_pytorch Batch Norm
  3. Flyweight Design Pattern 共享元设计模式
  4. php linux 删除文件夹,linux下如何删除文件夹
  5. 信息学奥赛一本通(1131:基因相关性)
  6. web-http协议-请求协议-响应协议
  7. python 累加m到n的所有素数的和_c#实现:返回n到m之间的所有素数
  8. win7 IIS安装与配置
  9. 解决echart时间显示问题
  10. 双非硕士211,阿里(蚂蚁)技术四面:技术一面+技术二面+主管三面+HR面
  11. Swift中方法的多面性
  12. 使用SmartUpload组件上传文件,自己踩过的坑
  13. 打怪升级之小白的大数据之旅(六十七)<Hive旅程第八站:Hive的函数>
  14. Hive SQL操作与函数自定义(二)
  15. 爬虫进阶:反反爬虫技术--2 使用可变IP
  16. SnapMotion for Mac(视频截图工具)
  17. WPS Word表格转成文字或文字制成表格的快捷方法
  18. 10台服务器要淘汰上虚拟化,24核CPU还不够用?服务器虚拟PC性能小测
  19. Manjaor连接wifi失败,wifi设备状态为unclaimed
  20. 写给自己-不积跬步,无以至千里

热门文章

  1. Javascript分页:模拟后台返回数据方法
  2. weka软件使用问题解决(一)
  3. 装机安装必备开发软件
  4. 数学建模——层次分析法(Matlab)【评价类问题】
  5. 【Spring学习03】Spring简单入门实例
  6. 用Python深度解读房贷利率
  7. 京东物流的区块链创新实践之路 PPT
  8. 物联网模块--esp8266的wifi模块
  9. [硬件选型] 工业相机之参数和选型
  10. 蜗牛星际A单千兆群晖系统崩溃恢复记录