zoukankan      html  css  js  c++  java
  • Java-16 常用包装类

    1数组的排序

    1.1.选择排序

    • 从第一个位置元素到倒数第二个位置元素依次和后面每个元素作比较,依次得到每个位置上的最值。
    package ArrayDemo;
    import util.ArrayUtil;
    public class ArrayDemo1 {
    	public static void main(String[] args) {
    		int[] arr = {10,5,40,3,20,16};
    		selectSort(arr, true);
    		ArrayUtil.printArr(arr);
    	}
    	
    	public static void selectSort(int[] arr, boolean isAsc) {
    		// isAsc: true升序,false降序
    		for (int i=0;i<arr.length-1;i++) {
    			for (int j=i+1;j<arr.length;j++) {
    				if (isAsc?arr[i] > arr[j]:arr[i] < arr[j]) {
    					int tmp = arr[i];
    					arr[i] = arr[j];
    					arr[j] = tmp;
    				}
    			}
    		}
    	}
    }
    
    

    1.2 冒泡排序

    • 它重复走访要排序的数列,依次比较两个元素,如果他们顺序错误就把他们交换过来,走访数列的工作是重复地进行知道没有再需要交换,也就是说该数列已经完成。这个算法的名字由来是因为越大的元素会经由交换慢慢"浮"到数列的顶端,所以叫"冒泡排序"。
    package ArrayDemo;
    
    import util.ArrayUtil;
    
    public class ArrayDemo2 {
    	public static void main(String[] args) {
    		int[] arr = {1,42,33,2,45,66};
    		bubbleSort(arr,false);
    		ArrayUtil.printArr(arr);
    	}
    	public static void bubbleSort(int[] arr, boolean isAsc ) {
    		for (int i=1;i<arr.length;i++) {
    			for (int j=0;j<arr.length-i;j++) {
    				if (isAsc?arr[j] > arr[j+1]:arr[j] < arr[j+1]) {
    					int tmp = arr[j];
    					arr[j] = arr[j+1];
    					arr[j+1] = tmp;
    				}	
    			}
    		}
    	}
    }
    
    

    1.3 二分查

    public static int binarySearch(int[] arr, int key) {
        int start = 0;
        int end = arr.length-1;
        while (start <=end) {
            int middleIndex = (start + end) / 2;
            int middle = arr[middleIndex];
            if (key == middle) {
                return middleIndex;
            } else if (key > middle) {
                start = middleIndex + 1;
            } else {
                end = middleIndex - 1;
            }
        }
        return -1;
    }
    

    2.Arrays工具类用法

    • 引包
    import java.util.Arrays;
    
    • toString 把数组转换字符串
    int[] arr = {1,2,3,4,6};
    System.out.println(Arrays.toString(arr));// [1, 2, 3, 4, 6]
    
    • sort 排序
    // 只能进行升序排序
    Arrays.sort(arr);
    
    • binarySearch: 找到数组数据索引
    System.out.println(Arrays.binarySearch(arr, 3));
    

    3.包装类

    • 分别为:
    byte	Byte
    short	Short
    int		Integer
    long	Long
    float	Float
    double	Double
    boolean	Boolean
    char	Character
    
    • 装箱和拆箱:
      • 装箱: 把基本数据类型转成包装类
      • 拆箱:把包装类转成基本数据类型
    // 示例
    // 装箱
    int a = 10;
    Integer a2 = Integer.valueOf(a);
    // 拆箱
    int a3 = a2.intValue();
    // 上述示例是jdk1.5之前书写方式,需要自己手动装箱拆箱		
    

    ​ JDK1.5之后可以自动装箱和拆箱

    int a = 10;
    // 装箱
    Integer a4 = a;
    // 拆箱
    int a5 = a4
    
    • int如何转换String
    int b = 100;
    // 方式1:
    Stirng s1 = b + "";
    // 方式2:
    String s2 = String.valueOf(b);
    
    • String 转 int(sting转int 前提string是一个数)
    String s3 = "100";
    // 方式1:
    // 返回值是Integer类型
    Integer b = Integer.valueOf(s3);
    // 方式2:
    // 返回值是int类型
    int b = Integer.parseInt(s3);
    // 方式3:
    Integer b = new Integer(s3);
    
    • Integer中进制转换的方法
    1.toBinaryString 转成二进制字符串
        System.out.println(Integer.toBinaryString(100));
    2.toOctalString 转成八进制字符串
        System.out.println(Integer.toOctalString(100));
    3.toHexString 转成16进制字符串
        System.out.println(Integer.toHexString(100));
    4. toString 转成几进制
        System.out.println(Integer.toString(100,36));// 把100转换成36进制 范围(2-36进制)。超出36进制返回自己。
    5.parseInt 其他进制转实际值
        System.out.println(Integer.parseInt("abc",16));// 把16进制abc转成成10进制
    
    • Character用法
    1.isUpperCase 判断是否是大写字母
        System.out.println(Character.isUpperCase('a'));
    2.isLowerCase 判断是否是小写字母
        System.out.println(Character.isLowerCase('d'));
    3.isDigit 判断是否为数字
        System.out.println(Character.isDigit('6'));
    4.toUpperCase 字母转大写
        System.out.println(Character.toUpperCase('a'));
    5.toLowerCase 字母转小写
        System.out.println(Character.toLowerCase('b'));
    
    • Math方法
    1. 常量值
        Math.PI
        Math.E
    2. abs 求绝对值
        System.out.println(Math.abs(-12));
    3. ceil 向上取整
        System.out.println(Math.ceil(15.3));
    4. floor 向下取整
        System.out.println(Math.floor(15.3));
    5. pow(a,b) 求a的b次方
        System.out.println(Math.pow(14,2));
    6. random 求随机数0-1之间
        System.out.println(Math.random());
    7. round 四舍五入
        System.out.println(Math.round(3.5));
    8. sqrt 求算数平方根
        System.out.println(Math.sqrt(16));// 4.0
    
    • System类方法
    1.gc 用于垃圾回收
    2.exit 退出
    3.currentTimeMillis 获取当前时间毫秒值 时间基准值:1970年1月1日0:0:0
    	System.out.println(System.currentTimeMillis());
    4.nanoTime 获取当前时间纳秒值
    5.arraycopy 数组拷贝
        参数: src 源数组,srcPos 从哪拷贝,dest 拷贝到哪里,destPost 目标数组的位置, length 拷贝长度
        int[] arr = {12,34,2,4,66,44,5};
        int[] arr2 = new int[6];
        // 从arr index为2位置开始拷贝,拷贝位置到arr2的index为1起始,拷贝3个长度
        System.arraycopy(arr, 2, arr2, 1, 3);
        ArrayUtil.printArr(arr2);// [0,2,4,66,0,0]
        
    
    • Date类 日期
    import java.util.Date;
    Date d = new Date();
    System.out.println(d);//Tue Oct 13 00:14:31 CST 2020
    
    Date d2 = new Date(0);
    System.out.println(d2);
    
    // getTime 把日期对象转成毫秒值
    // setTime 当前日期设置为毫秒值
    d.getTime()
    d.setTime(0)
    
  • 相关阅读:
    使用PHPMYADMIN添加新用户和数据库
    phpMyadmin用户权限中英对照
    Asp生成xml乱码解放方法
    SQL Server 错误日志
    安装VS2005 SP1时失败(错误 1718。文件被数字签名策略拒绝)的解决办法!
    CKEditor 3 JavaScript API Documentation
    CKEditor在.NET中的应用
    IIS 添加网站显示错误消息 “无更多可用的内存以更新安全信息” 解决方法
    jQuery 操作Cookie
    JavaScript/HTML格式化
  • 原文地址:https://www.cnblogs.com/xujunkai/p/13806414.html
Copyright © 2011-2022 走看看