API常用类

API_常用类

一,什么是Java API?

  • API应用程序编程接口
  • 是对java预先定义的类或接口功能和函数功能的说明文档,目的是提供给开发人员进行使用帮助说明。

二,基本数据类型包装类

什么是包装类
  • 包装类(例如:Integer,Double等)这些类封装了一个相应的基本数据类型数值,并为其提供了一系列操作方法。
  • Java为其提供了8种对应的包装类:Byte,Short,Integer,Long,Float,Double,Boolean,Character
使用包装类的原因
  • Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,在实际使用时存在很多的不便,所以为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这八个基本数据类型对应的类统称为包装类。
  • 如果只有基本数据类型,使用时很不方便,比如,在集合类中,无法将int,double等类型放进去,因为集合容器要求元素时Object类型。
  • 包装类还为基本类型添加了属性和方法,丰富了基本类型的操作。比如:基本类型的相关属性如最大值,最小值等,以及相关操作的方法。
包装类常用属性方法
  • 属性

    • public static final int MAX_VALUE 最大的int整型数
    • public static final int MIN_VALUE 最小的int整型数
  • 构造方法

    • Integer(int a);
    • Integer(String a); //将String包装为整数int
  • 比较方法

    • static int compareTo(Integer a);
    • boolean equals(Object);
    • int max(int a,int b); //比较出最大的值
    • int min(int a,int b); //比较出最小的值
  • 转换方法

    • toBinaryString(int i) ; //转换为二进制
    • toHexString(int i); //转换为十六进制
    • toOctalString(int i); //转换为八进制
    • int intValue(); //将包装类型转为基本类型;自动装箱时调用
    • parseInt(String s); //将String类型转为基本类型
    • String toString(); //返回String的字符串值
    • valueOf(int i); //自动拆箱时调用
    • valueOf(String s);
自动装箱和自动拆箱
  • ​ 为了方便使用和性能优化,提供了自动拆装箱机制
    • Integer num = 1; //自动装箱
    • int num1 = num; //自动拆箱

三,Object类

什么是Object类?
  • Object类是所有Java类的祖先(根基类)。每个类都使用Object作为超类(父类),所有对象(包括数组)都实现这个类的方法。
  • 任何一个类如果没有明确的继承一个父类的话,那么它就是Object的子类。
Object类常用方法
  • ​ toString()方法

    • 取得对象的信息
    • 需要在类中重写父类Object中的toString()方法,不然默认输出的是一个对象在堆内存上的地址值。
  • equals()方法

    • 对象比较

    • 案例:Person per1 = new Person(“Tom”,20);

      ​ Person per2 = new Person(“Tom”,20);

      ​ Stystem.out.println(per1.equals(per2));

    • 输出结果为false,因为直接调用equals()方法默认比较是是两个对象的地址。

    • 在源码中,传递来的Object对象和当前对象比较地址值,返回布尔值。但是我们new的对象会在堆上创建新空间,所以两个对象的地址自然不相同。

    • 所以当我们要判断两个对象的内容是否相等时(比如姓名,年龄等等),我们就要重写父类的equals()方法。

四,Arrays类

什么是Arrays类?
  • java.util.Arrays类

  • 用于操作数组工具类,里面定义了常见操作数组的静态方法。

Arrays类常用方法
  • Arrays.toString(array) ;//将数组转为字符串

    • int arr[] = new int[]{1,2,3,4,5};
      System.out.println(Arrays.toString(a));
      //输出:[1, 2, 3, 4, 5]
      
  • Arrays.fill(); //填充数组

    • Arrays.fill(a,8); //填充数组
      System.out.println(Arrays.toString(a));
      //输出:[8, 8, 8, 8, 8]
      
  • Arrays.sort(); //数组排序

    • int arr[] = new int[]{4,5,8,9,6,2};
      Arrays.sort(arr);
      System.out.println(Arrays.toString(arr));
      //输出:[2, 4, 5, 6, 8, 9]
      
  • Arrrays.equals(); //比较数组中的元素是否相等

    • int[] arr1 = {1,2,3};
      int[] arr2 = {1,2,3};
      System.out.println(Arrays.equals(arr1,arr2));
      //输出:true
      //如果是arr1.equals(arr2),则返回false,因为equals比较的是两个对象的地址,不是里面的数,而Arrays.equals重写了equals,所以,这里能比较元素是否相等。
      
  • Arrays.binarySearch(); //二分查找指定下标元素

    • 前提数组一定是排好序的

    • int[] arr = {10,20,30,40,50};
      System.out.println(Arrays.binarySearch(arr, 30));
      //输出:2 (下标索引值从0开始)
      
  • Arrays.copeOf() 和Arrays.copeOfRange(); //截取数组

    • int[] arr = {10,20,30,40,50};
      int[] arr1 = Arrays.copyOf(arr, 3);
      String str = Arrays.toString(arr1); // Arrays类的toString()方法能将数组中的内容全部打印出来
      System.out.print(str);
      //输出:[10, 20, 30] (截取arr数组的3个元素赋值给新数组arr1)
      
    • int []arr = {10,20,30,40,50};
      int []arr1 = Arrays.copyOfRange(arr,1,3);
      String str = Arrays.toString(arr1); // Arrays类的toString()方法能将数组中的内容全部打印出来
      System.out.print(str);
      //输出:[20, 30] (从第1位(0开始)截取到第3位(不包括))
      

五,String类

什么是String?
  • String类在java.lang包中
  • java使用String类创建一个字符串变量,字符串变量属于对象。
  • String类对象创建后不能修改,由0或多个字符组成。
String类常用方法
  • 获取功能

    • int length();//求字符串长度

      • String str = "Hello";
        int strlength = str.length();   // 5
        
    • char charAt(int index); //求字符串某一位置字符

      • String str = "Hello";
        char ch = str.charAt(4);//ch = o
        
    • String substring(int start) //提取字符串

      • String str1 = "Hello";
        String str2 = str1.substring(2); 
        // str2 = "llo"
        String str3 = str1.substring(2,4);  
        //str3 = "ll"
        
    • int indexOf(int ch/String str); //查找指定字符/字符串

    • String str = "I am a good student";
       int a = str.indexOf('a');//a = 2
       int b = str.indexOf("good");//b = 7
       int c = str.indexOf("w",2);//c = -1
      
    • int lastIndexOf(int ch/String str); //从末尾向前查询

    •  String str = "I am a good student";
       int d = str.lastIndexOf("a");//d = 5
       int e = str.lastIndexOf("a",3);//e = 2
      
  • 转换功能

    • byte [] getBytes(); //将字符串转为字节数组

      • String str = "abcd";
        	str.getBytes(); 
        //[97, 98, 99, 100]
        
    • char[] toCharArray(); //将字符串转为数组

      • String str = "abcd";
        	str.toCharArray();
        //[a, b, c, d]
        
    • static String valueOf(char[] chs); // 把字符数组转成字符串

      • char[] chars = {'a', 'b', 'c', 'd'};
        System.out.println(String.valueOf(chars));
        //输出:abcd*
        
    • String toLowerCase(); //把字符串转换为小写

    • String toUpperCase(); //把字符串转成大写

      • String str = "abcdACC";
        System.out.println(str.toLowerCase());
        //abcdacc
        
      • String str = "abcdACC";
        System.out.println(str.toLowerCase());
        //ABCDACC
        
    • String concat(String str); //把字符串拼接。

      • String s = "ab";
        System.out.println(s.concat("cd"));
        //输出:abcd
        
    • String [] split(分隔符);

      • String str = "ab,cd,ACC";
        System.out.println(str.toLowerCase());
        // ab,cd,acc
        
  • 替换功能

    • String replace(char old,char new); //把字符串中的某个字符用新的字符替换

    • String replace(String old,String new)把字符串中的某个字符串用新的来替换

      • String s = "ab";
        System.out.println(s.replace("a", "c"));
        //输出:cb
        System.out.println(s.replace("ab", "cd"));
        //输出:cd
        
    • replaceAll(String regex, String replacement) //将字符串中与正则表达式匹配的全部替换

    • replaceFirst(String regex, String replacement) //只替换第一个

    • String trim(); //去除字符串两端空格

      String s = "     May all the beauty be blessed";        
      System.out.println(s.trim());
      //输出:May all the beauty be blessed
      System.out.println(s);
      //          May all the beauty be blessed
      

六,Math类

  • java.lang.Math提供了一系列静态方法用于科学计算;

  • 方法参数和返回值类型一般为double型。

  • 常用方法

    • // Math.abs() 求绝对值
      int a = -5;
      a = Math.abs(a);
      // 输出:5
      
    • // Math.sqrt() 求平方根
      int a = 4;
      double b = Math.sqrt(a);//2.0
      
    • //Math.pow(double a,double b) 求a的b次幂
      Math.pow(2,3);// 8
      
    • //max(int a,int b),min(int a,int b)  求两数最大/最小的值
      Math.max(2,3);//3
      Math.min(2,3);//2
      
    • Math.random(); //返回0.0-1.0随机数 0.8322260399547887
      
    • //Math.round() double型的数据a转换为long型(四舍五入)
      Math.round(2.4);//2
      Math.round(2.5);//3
      
    • System.out.println(Math.floor(9.3));//向下取整 10
      System.out.println(Math.ceil(9.7));//向上取整  9
      
    • System.out.println(Math.PI);//π常量
      

七,Random类

  • 此类用于产生随机数

  • 常用方法

    • Random random = new Random();//构造方法
      double d = random.nextDouble()*10; //nextDouble() 随机数区间[0,1.0),自己可以乘自己想要的区间
      random.nextInt();//生成任意整数
      int num = random.nextInt(10);//在指定区间内,生成随机整数
      

八,Date类/Calendar类/SimpleDateFormat类

  • Date类

    Date date = new Date();//创建一个日期对象,此对象中包含程序运行那一刻的时间
    System.out.println(date);//Mon Mar 27 16:54:15 CST 2023
    System.out.println(date.getYear()+1900);//2023 带删除线方法,视为过期方法,API中有新的方法替代,可以使用的
    System.out.println(date.getMonth());// 月份 0(一月),1,2,3,4,5(六月)....
    System.out.println(date.getDay());// 星期 0(周天),1(周一),2,3,4,5,6
    System.out.println(date.getDate());// 月中的天数
    System.out.println(date.getTime());//1656316991359 自1970-1-1 0:0:0 ---至今的毫秒差
    
  • Calendar类:日历类

    Calendar c1 = Calendar.getInstance();//返回的也是子类的对象
    Calendar c = new GregorianCalendar();// Calendar 父类(抽象类)  Gregorian 子类
    System.out.println(c1.getTime());//Mon Mar 27 16:57:56 CST 2023
    System.out.println(c.getTimeInMillis());//1679907476663 与Date中getTime()一样  自1970-1-1 0:0:0 ---至今的毫秒差
    System.out.println(c.get(Calendar.YEAR));//获取年份
    System.out.println(c.get(Calendar.DAY_OF_MONTH));//月中的第几天
    System.out.println(c.get(Calendar.DAY_OF_WEEK));//一周的第几天
    System.out.println(c.get(Calendar.DAY_OF_YEAR));//一年的第几天
    
  • SimpleDateFormat类

    Date d = new Date();//日期对象,需要显示一个指定格式的字符串
    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss E");  //pattern 指定格式
    String str = simpleDateFormat.format(d);System.out.println(str);//2023-03-27 17:01:21 星期一
    SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy-MM-dd");
    String birthday = "2002-4-20";
    try {    
        Date date = simpleDateFormat1.parse(birthday);    
        System.out.println(date);//Sat Apr 20 00:00:00 CST 2002
    } catch (ParseException e) {    
        e.printStackTrace();
    }
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值