java——类型转换,冒泡排序,选择排序,二分查找,数组的翻转

Posted 想54256

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java——类型转换,冒泡排序,选择排序,二分查找,数组的翻转相关的知识,希望对你有一定的参考价值。

一、类型转换

American Standard Code for Information Interchange美国标准信息交换代码.

在计算机中,所有的数据在存储和运算时都要使用二进制数表示, abcd这样的52个字母(包括大写)、以及01等数字还有一些常用的符号, 在计算机中存储时也要使用二进制数来表示,而具体用哪些二进制数字表示哪个符号,当然每个人都可以约定自己的一套(这就叫编码),而大家如果要想互相通信而不造成混乱,那么大家就必须使用相同的编码规则,于是美国有关的标准化组织就出台了ASCII编码,统一规定了上述常用符号用哪些二进制数来表示。

1、int类型和char类型的转换

char  两个字节, int 四个字节

char转成int类型的时候,类型自动提升,char数据类型,会查询编码表,得到整数,int转成char类型的时候会强制转换。

char存储汉字的时候查询Unicode编码表(中文字符在Unicode/utf-8中占2~4个字节),char可以和int计算,提示为int类型,内存中两个字节。

  • char取值范围是0-65535, 无符号的数据类型(无法存储负数)
  • short的取值范围是-32768~32767
public class ASCIIDemo{
	public static void main(String[] args){
		char c = \'a\';
		int i = c + 1;  // char型转换成int型
		System.out.println(i);
		
		int j = 90;
		char h = (char)j;
		System.out.println(h);
		
		System.out.println( (char)6 );  // 使用(char)数字,将int型转换成char型数据
		
		char k = \'你\';
		System.out.println(k);
		
		
		char m = -1;
	}
}

 

二、排序算法

1、冒泡排序

原理:相邻元素比较,交换位置

代码实现:

public class BubbleSort {
    public static void main(String[] args){
        int arr[] = {11,2,88,6,5};
        sort(arr);
        xunhuan(arr);
    }

    public static void sort(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;
                }
            }
        }
    }

    public static void xunhuan(int[] arr){
        for(int i=0;i<arr.length;i++){
            System.out.println(arr[i]);
        }
    }
}

2、选择排序

原理:每个元素之间比较,交换位置

代码实现:

public class SelectSort {
    public static void main(String[] args){
        int arr[] = {11,2,88,6,5};
        sort(arr);
        xunhuan(arr);
    }

    public static void sort(int[] arr){
        for(int i=0;i<arr.length-1;i++){
            for (int j=i+1;j<arr.length;j++){
                if(arr[i]>arr[j]){
                    int temp = arr[i];
                    arr[i] = arr[j];
                    arr[j] = temp;
                }
            }
        }
    }

    public static void xunhuan(int[] arr){
        for(int i=0;i<arr.length;i++){
            System.out.println(arr[i]);
        }
    }

}

三、二分查找

public class BinSearch {
    public static void main(String[] args){
        int[] arr = {1,2,3,4,5,6,7,8,9,10};
        search(arr,5);
    }

    public static int search(int[] arr,int val){    //void(无类型),常用于没有返回值的方法中
        int low = 0;
        int high = arr.length-1;
        int mid = 0;
        while (low<high){
            mid = (low + high)/2;
            if(arr[mid] == val){
                return mid;
            }else if(arr[mid] < val){
                low = mid+1;
            }else if(arr[mid] > val){
                high = mid-1;
            }
        }
        return -1;
    }
}

四、数组的翻转

public class ReverseArray {
    public static void main(String[] args){
        int[] arr = {1,2,3,4,5};
        reverse(arr);
        xunhuan(arr);
    }

    public static void reverse(int[] arr){
        for(int min=0,max=arr.length-1;max>min;max--,min++){
            int temp = arr[min];
            arr[min] = arr[max];
            arr[max] = temp;
        }
    }

    public static void xunhuan(int[] arr){
        for(int i=0;i<arr.length;i++){
            System.out.println(arr[i]);
        }
    }
}

 

以上是关于java——类型转换,冒泡排序,选择排序,二分查找,数组的翻转的主要内容,如果未能解决你的问题,请参考以下文章

Java学习 数组,查找算法,二分查找法,冒泡排序,选择排序,插入排序

Java冒泡排序,选择排序,二分查找

Java八股文面试题 基础篇 -- 二分查找算法冒泡排序选择排序插入排序希尔排序快速排序

Java八股文面试题 基础篇 -- 二分查找算法冒泡排序选择排序插入排序希尔排序快速排序

14Java常用类(StringBuffer)排序算法(冒泡排序选择排序插入排序快速排序)查找算法(二分查找)

Java基础冒泡选择排序二分查找