JAVA数组的遍历 获取最大值最小值 数组的反转 数组的查找 练习 定义方法创建指定大小的数组,并添加指定元素 拼接两个数组
数组的遍历 获取最大值最小值 数组的反转 数组的查找 练习 定义方法创建指定大小的数组,并添加指定元素 拼接两个数组
感觉数组的运用还是得靠大量的实操练习才能深刻理解,像遍历取大小值和反转查下标这种系统本身就有提供现成的方法,但不通过方法就能实现功能的练习还是很必要的,这些会加强你对数组的理解。下面就罗列了些常用的方法和一些数组的练习
数组的遍历
根据数组中的索引值的改变,一个一个的访问数组中的元素,再把每个元素都打印出来
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数组的遍历 获取最大值最小值 数组的反转 数组的查找 练习 定义方法创建指定大小的数组,并添加指定元素 拼接两个数组相关推荐
- pandas获取最大值/最小值对应的index
生成数据 import pandas as pddf: pd.DataFrame = pd.DataFrame([[1, 4.2],[70, 0.03],[5, 0] ], columns=['one ...
- python拼接两个数组_在Python中连接两个数组
根据你的描述,你的案子看起来像:In [344]: a=[np.arange(5),np.arange(5)] In [345]: b=[np.arange(5),np.arange(3)] In [ ...
- JAVA笔记- JAVA对象数组的遍历与使用详解
1- 对象数组概述 基本类型的数组:存储的元素为基本类型 int[] arr={1,2,3,4} 对象数组:存储的元素为引用类型 Student[] stus=new Student[3]; 解释:: ...
- java 蓝桥杯算法训练 最大值与最小值的计算(题解)
试题 算法训练 最大值与最小值的计算 资源限制 时间限制:1.0s 内存限制:512.0MB 输入11个整数,计算它们的最大值和最小值. 样例输入 0 1 2 3 4 5 6 7 8 9 10 样例输 ...
- java合并两个数组_「JAVA」两个数组的交集—力扣每日一题(一)
示例 1: 输入: nums1 = [1,2,2,1], nums2 = [2,2] 输出: [2,2] 示例 2: 输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4] ...
- java计算两个数组的交集_回顾面试题:计算两个数组交集
背景 工作多年,语言经历过C#,JAVA.但是做过的项目大多以业务系统为主,曾经做过一些基础架构的工作,但算法一直在工作中应用的比较少,导致多年之后基本都忘记完了.上一次面试过程中就有一个算法题,我能 ...
- java删除数组里的两个_java – 如何从两个数组列表中删除常用值
我们如何从两个ArrayList中删除常用值. 让我们考虑我有两个Arraylist,如下所示 ArrayList1= [1,2,3,4] ArrayList1= [2,3,4,6,7] 我希望得到结 ...
- Leetcode-数据结构-350. 两个数组的交集 II
问题 给两个整数数组 nums1 和 nums2 ,请以 数组形式 返回两数组的 交集 (其在交集中出现的次数:等于该数字在两个数组中出现次数的最小值). 返回结果中 每个元素出现的次数(for遍历) ...
- php 两个数组求交集_如何求两个数组的交集
题目描述 给定两个数组,编写一个函数来计算它们的交集. 示例 1: 输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2] 示例 2: 输入:nums1 = [4,9,5] ...
- 2019-03-14-算法-进化(两个数组的交集 II)
题目描述 给定两个数组,编写一个函数来计算它们的交集. 示例 1: 输入: nums1 = [1,2,2,1], nums2 = [2,2] 输出: [2,2] 示例 2: 输入: nums1 = [ ...
最新文章
- Window 2000 网络操作命令全释
- 40_pytorch Batch Norm
- Flyweight Design Pattern 共享元设计模式
- php linux 删除文件夹,linux下如何删除文件夹
- 信息学奥赛一本通(1131:基因相关性)
- web-http协议-请求协议-响应协议
- python 累加m到n的所有素数的和_c#实现:返回n到m之间的所有素数
- win7 IIS安装与配置
- 解决echart时间显示问题
- 双非硕士211,阿里(蚂蚁)技术四面:技术一面+技术二面+主管三面+HR面
- Swift中方法的多面性
- 使用SmartUpload组件上传文件,自己踩过的坑
- 打怪升级之小白的大数据之旅(六十七)<Hive旅程第八站:Hive的函数>
- Hive SQL操作与函数自定义(二)
- 爬虫进阶:反反爬虫技术--2 使用可变IP
- SnapMotion for Mac(视频截图工具)
- WPS Word表格转成文字或文字制成表格的快捷方法
- 10台服务器要淘汰上虚拟化,24核CPU还不够用?服务器虚拟PC性能小测
- Manjaor连接wifi失败,wifi设备状态为unclaimed
- 写给自己-不积跬步,无以至千里