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); // 每轮比较结束打印数组元素
}
}
}

结果是:

冒泡排序图解

数组排序先简单的介绍吧,毕竟我是菜鸟 对其他算法还没专门的去了解过 等以后我会专门开个分类讲算法的 。。

最新文章

  1. PHP 异常
  2. 原!!mybatis如何直接 执行传入的任意sql语句 并按照顺序取出查询的结果集
  3. 给php增加gd库(转)
  4. OUT函数及其熟练使用,split的用法
  5. CF 103E Buying Sets 最大权闭合子图,匹配 难度:4
  6. 出现Fatal IO error 11 (资源暂时不可用) on X server :0.0.的可能原因及解决方案
  7. 主成分分析(principal components analysis, PCA)——无监督学习
  8. Windows服务定时运行,判断当前时间是否在配置时间段内
  9. [转] ICPC2013 World Finals赛后感
  10. PC-飞起来!我的Windows XP——五步快速优化Windows XP
  11. 快来领取一场专门讲解UTF-8与UTF-16编码算法的GitChat活动的免费名额
  12. (原创)遗传算法C++实现
  13. 在 ASP.NET Core 项目中实现小写的路由URL
  14. Sublime 禁止自动升级
  15. IntelliJ IDEA 中创建maven项目
  16. PHP ini 配置无效的坑给自己记录
  17. Ultra-QuickSort(poj 2299归并排序)
  18. Git_集中式vs分布式
  19. audio标签的自动播放(ios)
  20. Manachar算法详解

热门文章

  1. [HNOI2008]水平可见直线
  2. C++输入输出总结_输入
  3. .Net Core 2.0+ InfluxDB+Grafana+App Metrics 实现跨平台的实时性能监控
  4. 数据定义: CREATE、DROP、ALTER
  5. FastJson简单使用
  6. thinkphp5多图上传 js部分
  7. 【Python】 配置文件相对路径&amp;软件自动执行的工作目录
  8. 数据库MySQL、redis主从切换shell脚本
  9. postman简单教程,如何在请求中引用上次请求返回的值
  10. sql的优化30条