数组及排序算法
来源:互联网 发布:房卡 娄底放炮罚 源码 编辑:程序博客网 时间:2024/06/06 03:10
1.数组概述
- 数组是存储同一种数据类型多个元素的集合,也可以看成是一个容器。
- 数组既可以存储基本数据类型,也可以存储引用数据类型。
- 数组可以存储多个数据,而且可以对数据编号,从0开始,操作元素可以通过编号(下表、索引)完成。
2.数组的定义方式:
//方式一:元素类型[] 数组名=new 元素类型[数组的长度]int[] arr=new int[5];arr[0]=7;arr[1]=5;arr[2]=9;arr[3]=3;arr[4]=8;//方式二int a[]={10,20,32,30,40};//方式三int a[]=new int[]{10,20,32,30,40};
3.数组操作常见错误
- ArrayIndexOutOfBoundsException:数组索引越界异常
- NullPointerException:空指针异常,原因:数组已经不在指向堆内存了。而你还用数组名去访问元素。
int[] arr = {1,2,3};arr = null;System.out.println(arr[0]);
4.数组求和
public class ArraySum { public static void main(String[] args) { int[] arr1 = { 1, 2, 3, 4, 5 }; int sum = arrSum(arr1); System.out.println(sum); } public static int arrSum(int[] arr) { int sum = 0; for (int i = 0; i < arr.length; i++) { sum = +arr[i]; } return sum; }}
public class ArraySum2 { public static void main(String[] args) { int[] arr = { 1, 2, 3, 4, 5 }; int sum = 0; for (int i = 0; i < arr.length; i++) { sum += arr[i]; } System.out.println(sum); }}
5.数组求最大值
public class ArrayMax { public static void main(String[] args) { int[] arr1 = { 56, 135, 67, 87, 89, 88 }; int max = getMax(arr1); System.out.println(max); } public static int getMax(int[] arr) { //定义变量,初始化数组中的任意一个元素 int max = arr[0]; //数组遍历 for (int i = 1; i < arr.length; i++) { if (arr[i] > max) { max = arr[i]; } } return max; }}
public class ArrayMax { public static void main(String[] args) { int[] arr1 = { 56, 135, 67, 87, 89, 88 }; int max = getMax(arr1); System.out.println(max); } public static int getMax(int[] arr) { //初始化数组中的任意一个角标 int max = 0; for (int i = 1; i < arr.length; i++) { if (arr[i] > arr[max]) { max = i; } } return arr[max]; }}
6.选择排序
public class ArrayTest { public static void main(String[] args) { int[] arr = { 12, 9, 23, 77, 6, 34 }; for (int x = 0; x < arr.length - 1; x++) { for (int y = x + 1; y < arr.length; y++) { if (arr[x] > arr[y]) { int temp = arr[x]; arr[x] = arr[y]; arr[y] = temp; } } } for (int i = 0; i < arr.length; i++) { System.out.println(arr[i]); } }}
阅读全文
0 0
- 数组及排序算法
- 数组排序及相关各种算法
- java一维数组排序及算法
- java(4)--排序算法及二维数组
- 第九讲 数组排序算法:冒泡排序、选择排序、插入排序及二分查找技术
- 排序算法,数组进阶及面向对象基础
- 【黑马程序员】 学习笔记 - Java数组及排序算法
- 一种数组排序算法
- 冒泡算法 ,数组排序
- 常用数组排序算法
- 【算法练习】数组排序
- 冒泡算法排序数组
- 算法学习 数组排序
- 数组排序算法
- 数组排序算法
- 常用数组排序算法
- 数组的排序算法
- 数组的排序算法
- 笔记7 | 淡入淡出动画TransitionDrawable
- CSS垂直水平居中8种方法
- web应用国际化
- 合法括号子段
- java第一次课时
- 数组及排序算法
- jsp中Get提交方式的中文乱码解决办法
- Java迭代器
- 双线性插值算法的详细总结
- Java中被保护的 package名称
- 对称密码 之 分组密码的工作模式
- 菜鸟学习微信小程序之文件目录
- 位运算---在其他数都出现偶数次的数组中找到出现奇数次的数
- Error parsing HTTP request header