黑马程序员:Java数组简介与数组的应用:选择排序、冒泡排序、折半查找
2013-10-18 16:01
549 查看
----------------------
ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
何为数组:
同一种类型数据的集合,装数据的一个容器。
使用数组的好处:
可以自动给数组中的元素从0开始编号,方便操作这些元素
数组的声明格式
格式1:元素类型[] 数组名 = new 元素类型[元素个数或者数组长度]
格式2:元素类型[] 数组名 = new 元素类型[]{元素1,元素2,元素3...};
数组的长度及默认内存中的值介绍
int[] arr = new int[3]; //长度为3,内存中的值为000
System.out.println(arr[2]); //结果输出0
System.out.println(arr[3]); //超出数组范围。arr数组长度为3,共3个值:arr[0],arr[1],arr[2]; 故arr[3]超出数组范围,但编译时不会出错,执行时才出错。
如何获取数组长度
属性:length
用法:数组名称.length
例: arr[5]; arr.length的值为5
如何获取数组中的值
System.out.println(arr[0]); //获取数组中的第一个值
若输出语句写为 System.out.println(arr); //结果会输出类似[I@de6ced的结果
[表示一维数组,I表示int数组类型 @右边的十六进制值表示数组在内存中的地址。
二维数组小练习
int[] x,y[]; //其实就是int[] x; int[] y[]; 前面是一维数组,后面是二维数组 int[][] y; int y[][];
a. x[0]=y; //错误,二维数组不能赋值给一维数组
b. y[0]=x; //正确,一维数组可以赋值给y[0]这个一维数组
c. y[0][0]=x; //错误,x这个一维数组不能赋值给y[0][0],它是一个具体元素
d. x[0][0]=y; //错误,x是一维数组
e. y[0][0]=x[0]; //正确 元素之间可以赋值。
数组的几个小应用
十进制转化为二进制、八进制、十六进制
对数组进行排序:选择排序、冒泡排序两种方式
折半查找的两中方式
----------------------
ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------详细请查看:http://edu.csdn.net
ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
何为数组:
同一种类型数据的集合,装数据的一个容器。
使用数组的好处:
可以自动给数组中的元素从0开始编号,方便操作这些元素
数组的声明格式
格式1:元素类型[] 数组名 = new 元素类型[元素个数或者数组长度]
int[] arr = new int[3]; //长度为3,内存中的值为000
System.out.println(arr[2]); //结果输出0
System.out.println(arr[3]); //超出数组范围。arr数组长度为3,共3个值:arr[0],arr[1],arr[2]; 故arr[3]超出数组范围,但编译时不会出错,执行时才出错。
如何获取数组长度
属性:length
用法:数组名称.length
例: arr[5]; arr.length的值为5
如何获取数组中的值
System.out.println(arr[0]); //获取数组中的第一个值
若输出语句写为 System.out.println(arr); //结果会输出类似[I@de6ced的结果
[表示一维数组,I表示int数组类型 @右边的十六进制值表示数组在内存中的地址。
二维数组小练习
int[] x,y[]; //其实就是int[] x; int[] y[]; 前面是一维数组,后面是二维数组 int[][] y; int y[][];
a. x[0]=y; //错误,二维数组不能赋值给一维数组
b. y[0]=x; //正确,一维数组可以赋值给y[0]这个一维数组
c. y[0][0]=x; //错误,x这个一维数组不能赋值给y[0][0],它是一个具体元素
d. x[0][0]=y; //错误,x是一维数组
e. y[0][0]=x[0]; //正确 元素之间可以赋值。
数组的几个小应用
十进制转化为二进制、八进制、十六进制
class SortDemo { public static void main(String[] args) { int[] arr1 = {3,4,5,9,1,2,8}; int[] arr2 = {13,14,15,19,11,12,18}; selectSort(arr1); printArray(arr1); bubbleSort(arr2); printArray(arr2); } //换行 public static void hr() { System.out.println(); } //数值互换方法 public static void swap(int[] arr, int a, int b) { int temp = arr[a]; arr[a] = arr[b]; arr[b] = temp; } //选择排序方法 public static void selectSort(int[] arr) { for (int x=0; x<arr.length-1; x++) { for (int y=x+1; y<arr.length-1; y++) { if (arr[x] > arr[y]) { swap(arr,x,y); } } } } //冒泡排序方法 public static void bubbleSort(int[] arr) { for (int x=0; x<arr.length-1; x++) { for (int y=0; y<arr.length-x-1; y++) { if (arr[y] > arr[y+1]) { swap(arr,y,y+1); } } } } //打印数组 public static void printArray(int[] arr) { for (int x=0; x<arr.length; x++) { if (x != arr.length-1) { System.out.print(arr[x]+", "); } else System.out.println(arr[x]); } } }
折半查找的两中方式
ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------详细请查看:http://edu.csdn.net
相关文章推荐
- java-数组静态初始化、选择排序、冒泡排序、数组的折半查找、折半查找练习
- 黑马程序员_C语言基础_数组之冒泡排序、快速选择排序、折半查找
- (13)数组操作:遍历、输出最大值、冒泡排序、选择排序,java已有的排序方法、折半查找
- java数组扩展练习及冒泡排序,选择排序和折半查找
- 黑马程序员java学习— 数组的选择排序和冒泡排序
- hdoj 2020 (java)绝对值排序(Math.abs()函数应用以及数组冒泡排序)
- 黑马程序员——数组练习(冒泡排序,选择排序)
- Java 中数组的冒泡排序 和 直接选择排序
- JAVA基础再回首(十一)——数组高级(冒泡排序和选择排序)、Arrays类、基本类型包装类、Integer类
- 黑马程序员 03选择排序,冒泡排序,折半查找
- Java基础04:选择排序;冒泡排序;折半查找;二位数组
- 数组排序-冒泡排序-选择排序-插入排序-希尔排序-快速排序-Java实现
- 黑马程序员----Java中几种常用排序算法(选择排序、冒泡排序、快速排序)
- 蛮力法在排序算法中的应用(JAVA)--选择排序、冒泡排序
- java类实现数组的五种排序 冒泡排序、选择排序、插入排序、希尔排序、数组排序
- java版排序算法简介及冒泡排序以及优化,选择排序,直接插入排序,希尔排序,堆排序,快速排序及其优化前言 2 分类 2 稳定性 3 时间复杂度 4 Java实现版本 5 1、冒泡排序 6 2、选择排序
- 黑马程序员 Java基础_3 数组,数组排序和应用
- java实现数组的冒泡排序、选择排序代码
- 函数_内存结构_数组_排序_选择排序_冒泡排序_折半查找_插入排序_进制转换数组
- 黑马程序员——c语言基础:冒泡排序、选择排序和折半查找