JAVA_SE基础——20.数组的常见操作
1.遍历数组
使用for循环来遍历数组 代码如下:
public class Ergodic {
public static void main(String[] args) {
int[] arr = { 1, 2, 3, 4, 5 }; // 定义数组
// 使用for循环遍历数组的元素
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]); // 通过索引访问元素
}
}
}
结果如下;
定义长度为5的数组arr,数组的角标为0~4. 由于for循环中定义的变量i的值在循环过程中为0~4,因此可以作为索引,依次去访问数组中的元素,并将元素的值打印出来。
2.数组最值
数组的长度获取:数组名.length 获取数组最后一个元素的角标(索引):数组名.length-1
下面我用一个代码示例来演示下数组最值(获取数组中元素的最大值):
public class ShuzuBig {
public static void main(String[] args) {
int[] arr = { 4, 1, 6, 3, 9, 8 }; // 定义一个数组
int max = getMax(arr); // 调用获取元素最大值的方法
System.out.println("max=" + max); // 打印最大值
}
static int getMax(int[] arr) {
int max = arr[0]; // 定义变量max用于记住最大数,首先假设第一个元素为最大值
// 下面通过一个for循环遍历数组中的元素
for (int x = 1; x < arr.length; x++) {
if (arr[x] > max) { // 比较 arr[x]的值是否大于max
max = arr[x]; // 条件成立,将arr[x]的值赋给max
}
}
return max; // 返回最大值max
}
}
运行结果:
max=9
我来解释下关键的几句吧:
int max = arr[0];
假设arr数组索引[0]的元素最大,用来和arr数组索引[1]比较
for (int x = 1; x < arr.length; x++)
遍历arr数组索引(角标)[1~5]
if (arr[x] > max)
max = arr[x]
如果第二个元素大于第一个就把大的赋给临时变量max 上面注释已经说明的很清楚的了
3数组排序
在操作数组时,经常需要对数组中的元素进行排序,接下来的代码就用一种比较常见的排序算法————冒泡排序, 冒泡的过程就是把小的元素往前放 大的往后放 一直排到元素从小到大才结束
public class BubbleSort{
public static void main(String[] args) {
int[] arr = { 9, 8, 3, 5, 2 };
System.out.print("冒泡排序前 :");
printArray(arr); // 打印数组元素
bubbleSort(arr); // 调用排序方法
System.out.print("冒泡排序后 :");
printArray(arr); // 打印数组元素
}
// 定义打印数组方法
public static void printArray(int[] arr) {
// 循环遍历数组的元素
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " "); // 打印元素和空格
}
System.out.print("\n");
}
// 定义对数组排序的方法
public static void bubbleSort(int[] arr) {
// 定义外层循环
for (int i = 0; i < arr.length - 1; i++) {
// 定义内层循环
for (int j = 0; j < arr.length - i - 1; j++) {
if (arr[j] > arr[j + 1]) { // 比较相邻元素
// 下面的三行代码用于交换两个元素
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
System.out.print("第" + (i + 1) + "轮排序后:");
printArray(arr); // 每轮比较结束打印数组元素
}
}
}
结果是:
冒泡排序图解
数组排序先简单的介绍吧,毕竟我是菜鸟 对其他算法还没专门的去了解过 等以后我会专门开个分类讲算法的 。。
JAVA_SE基础——20.数组的常见操作的更多相关文章
- Hadoop基础-HDFS的API常见操作
Hadoop基础-HDFS的API常见操作 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本文主要是记录一写我在学习HDFS时的一些琐碎的学习笔记, 方便自己以后查看.在调用API ...
- JAVA_SE基础——19.数组的定义
数组是一组相关数据的集合,数组按照使用可以分为一维数组.二维数组.多维数组 本章先讲一维数组 不同点: 不使用数组定义100个整形变量:int1,int2,int3;;;;;; 使用数组定义 int ...
- Python基础:字符串的常见操作
# 切片 # 切片 获取对象中一部分数据 [起始位置:结束位置(不包含):步长] qpstr = "山东张学友" result = qpstr[1: 3: 1] # 东张 prin ...
- javascipt中数组的常见操作
1.与lua不同,即使数组中间有null或者undefined,仍然能求出正确的长度 2.length 改变.length也会改变数组的大小 3. indexOf arr.indexOf(a)会返回第 ...
- js数组的常见操作( push、pop、unshift、shift、splice、concat、 join)的用法
1.数组添加删除 头部或尾部( push().pop().unshift().shift() ) 例2.数组尾部添加 push()方法可向数组的末尾添加一个或多个元素,并返回新的长度 语法:array ...
- js几种基本数据类型及之间转换与java的不同、js数组一些常见操作
js的三大组成部分及各自作用: 1.ECMAScript:规范了js的基本语法和功能 2.DOM:js操作页面元素的API 3.BOM:js操作浏览器部分功能的API 如果通过<script s ...
- [java学习笔记]java语言基础概述之数组的定义&常见操作(遍历、排序、查找)&二维数组
1.数组基础 1.什么是数组: 同一类型数据的集合,就是一个容器. 2.数组的好处: 可以自动为数组中的元素从零开始编号,方便操作这些数据. 3.格式: (一 ...
- Java基础总结--数组
---数组的定义---组织存储一组数据1.存放相同类型数据的集合--就是一种容器本质上变量也是一种容器--区别就是只存储了一个数据的容器--面对容器,而不是分散的数据eg.买一盘鸡蛋--蛋托其实就是容 ...
- 基础学习day04---数组的操作
一.数组基本常见操作 1.1.静态初始化 //第一种声明 //第一种声明 int [] arr=new int[5]; //第二种声明 int [] arr1=new int[]{5,3,8,1,9, ...
随机推荐
- datatable 分页实例
1.使用datatable前台分页,需要后台返回全部数据,返回lisit 2.如果是后台分页 则后台需要获取分页参数,页面中要加 "searchable":true, " ...
- 命令行更新node和npm
Windows系统下: 查看版本的命令和Ubuntu下一样. 不同的是Windows下不能使用"n"包管理器来对NodeJS进行管理,在这里我们使用一种叫"gnvm&qu ...
- 原来你是这样的Websocket--抓包分析
之前自己一个人负责完成了公司的消息推送服务,和移动端配合完成了扫码登录.订单消息推送.活动消息广播等功能.为了加深自己对Websocket协议的理解,自己通过进行抓包的方式学习了一番.现在分享出来,希 ...
- 内嵌tomcat启动速度慢
项目上最近要把内置的jetty换成tomcat, 来更好的支持servlet 3.0 本来以为换个容器, 几十行代码就好了. 实际上换了tomcat后, 一开始启动tomcat, 非常的慢. jett ...
- Problem : 1012 ( u Calculate e )
/*tips:本题只有输入,没有输出,在线测试只检测结果,所以将前面几个结果罗列出来就OK了.为了格式输出问题纠结了半天,最后答案竟然还是错的....所以啊,做题还是得灵活变通.*/ #include ...
- 在Editplus中配置java的(带包)编译(javac)和运行(java)的方法
配置的前提是电脑安装了JDK并且配置好了相关的环境变量(JAVA_HOME,path和classpath). 配置好后在命令行中输入javac和java验证是否配置成功: 如果出现上面的情况则说明配置 ...
- 【Unity与23种设计模式】代理模式(Proxy)
GoF中定义: "提供一个代理者位置给一个对象,好让代理者可以控制存取这个对象." 代理模式多用来优化资源的加载 当资源已经加载过时,使用原来的资源 当资源没有加载过时,开始加载 ...
- 使用Angular CLI进行Build (构建) 和 Serve
第一篇文章是: "使用angular cli生成angular5项目" : http://www.cnblogs.com/cgzl/p/8594571.html 第二篇文章是: & ...
- TypeScript入门(一)
TypeScript是微软官方的一种语言,是JavaScript的超集.它遵循的ECMA Script 6.0是下一代的JavaScript.浏览器还没有完全支持ES6,而ES5是弱类型的语言,还没有 ...
- 笔记:Maven 仓库及配置详解
本地创建默认路径在 用户目录\.m2\repository,如果需要自定义本地创建目录地址,可以编辑文件 用户目录\.m2\settings.xml(文件不存在,则需要从Maven安装目录的Conf目 ...