zoukankan      html  css  js  c++  java
  • 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]);
            }
        }
    }
    
  • 相关阅读:
    HDU
    纯C++去雾算法
    拓扑排序
    SG 函数初步 HDU 1536 &amp;&amp; HDU 1944
    <html>
    XML制作RSS源
    ACM退役前2个月总结
    javascript 的 jasmine 的測试语句
    Vue.js父与子组件之间传参
    $.contents().find设置的data在iframe子页面无法获取值
  • 原文地址:https://www.cnblogs.com/x54256/p/8409180.html
Copyright © 2011-2022 走看看