Java中数组高级(冒泡排序和选择排序)、Arrays类、基本类
2016-10-26 本文已影响46人
清风沐沐
数组高级(排序)
- 排序
- 冒泡排序
- 相邻元素两两比较,大的往后放,第一次完毕,最大值出现在了最大索引处.同理,即可得到排好序的数组
- 选择排序
- 从0索引开始,依次和后面元素比较,小的往前放,第一次完毕,最小值出现在了最小索引处
- 冒泡排序
//数组排序之冒泡排序
public class ArrayDemo {
public static void main(String[] args) {
// 定义一个数组
int[] arr = { 24, 69, 80, 57, 13 };
System.out.println("排序前:");
printArray(arr);
bubbleSort(arr);
System.out.println("排序后:");
printArray(arr);
// 遍历功能
public static void printArray(int[] arr) {
System.out.print("[");
for (int x = 0; x < arr.length; x++) {
if (x == arr.length - 1) {
System.out.print(arr[x]);
} else {
System.out.print(arr[x] + ", ");
}
}
System.out.println("]");
}
//冒泡排序代码
public static void bubbleSort(int[] arr){
for (int x = 0; x < arr.length - 1; x++) {
for (int y = 0; y < arr.length - 1 - x; y++) {
if (arr[y] > arr[y + 1]) {
int temp = arr[y]; arr[y] = arr[y + 1]; arr[y + 1] = temp;
}
}
}
}
//选择排序
public static void selectSort(int[] arr){
for(int x=0; x<arr.length-1; x++){
for(int y=x+1; y<arr.length; y++){
if(arr[y] <arr[x]){
int temp = arr[x]; arr[x] = arr[y]; arr[y] = temp;
}
}
}
}
}
Arrays类概述及其常用方法
- Arrays类概述
- 针对数组进行操作的工具类。
- 提供了排序,查找等功能。
- 成员方法
- public static String toString(int[] a):把数组转成字符串
- public static void sort(int[] a):对数组进行排序
- public static int binarySearch(int[] a,int key):二分查找
public class ArraysDemo { public static void main(String[] args) {
// 定义一个数组
int[] arr = { 24, 69, 80, 57, 13 };
// public static String toString(int[] a) 把数组转成字符串
System.out.println("排序前:" + Arrays.toString(arr));
// public static void sort(int[] a) 对数组进行排序
Arrays.sort(arr);
//底层是快速排序,了解就可以了
System.out.println("排序后:" + Arrays.toString(arr));
// [13, 24, 57, 69, 80]
// public static int binarySearch(int[] a,int key) 二分查找 System.out.println("binarySearch:" + Arrays.binarySearch(arr, 57)); System.out.println("binarySearch:" + Arrays.binarySearch(arr, 577)); }}
Java基本类型包装类概述
- 将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据。
- 常用的操作之一:用于基本数据类型与字符串之间的转换。
- 基本类型和包装类的对应
- byte —-Byte
- short —- Short
- int —- Integer
- long —- Long
- float —- Float
- double —- Double
- char —- Character
- boolean —- Boolean
Integer类概述及其构造方法
- Integer类概述
- Integer 类在对象中包装了一个基本类型 int 的值
- 该类提供了多个方法,能在 int 类型和 String 类型之间互相转换,还提供了处理 int 类型时非常有用的其他一些常量和方法
- 构造方法
- public Integer(int value)
- public Integer(String s)
- 注意:这个字符串必须是由数字字符组成
int类型和String类型的相互转换
- int 转 String
- String.valueOf(number)
- String 转 int
- Integer.parseInt(s)
Integer类成员方法
- public int intValue()
- public static int parseInt(String s)
- public static String toString(int i)
- public static Integer valueOf(int i)
- public static Integer valueOf(String s)
常用的基本进制转换
- public static String toBinaryString(int i)
- public static String toOctalString(int i)
- public static String toHexString(int i)
十进制到其他进制
- public static String toString(int i,int radix)
其他进制到十进制
- public static int parseInt(String s,int radix)