常用API

Java——API javaAPI文档 阅读详情

1.API

1.1 API概述【理解】

  • 什么是API
	API (Application Programming Interface) :应用程序编程接口
  • java中的API
指的就是 JDK 中提供的各种功能的 Java类,这些类将底层的实现封装了起来,我们不需要
关心这些类是如何实现的,只需要学习这些类如何使用即可,我们可以通过帮助文档来学习这些API如何使用。

1.2 如何使用API帮助文档【应用】

- 打开帮助文档

在这里插入图片描述

- 找到索引选项卡中的输入框

在这里插入图片描述

- 在输入框中输入Random

在这里插入图片描述

- 看类在哪个包下

在这里插入图片描述

- 看类的描述

在这里插入图片描述

- 看构造方法

在这里插入图片描述

- 看成员方法

在这里插入图片描述

2.常用API

2.1 Math(应用)

- 1、Math类概述

 - Math 包含执行基本数字运算的方法

- 2、Math中方法的调用方式

 - Math类中无构造方法,但内部的方法都是静态的,则可以通过   类名.进行调用

- 3、Math类的常用方法

   方法名    方法名                              	说明                        
    public static int   abs(int a)          	返回参数的绝对值                  
    public static double ceil(double a)     	返回大于或等于参数的最小double值,等于一个整数
    public static double floor(double a)    	返回小于或等于参数的最大double值,等于一个整数
    public   static int round(float a)      	按照四舍五入返回最接近参数的int         
    public static int   max(int a,int b)    	返回两个int值中的较大值             
    public   static int min(int a,int b)    	返回两个int值中的较小值             
    public   static double pow (double a,double b)	返回a的b次幂的值                 
    public   static double random()         	返回值为double的正值,[0.0,1.0)   

2.2 System(应用)

- System类的常用方法

 方法名                                     	说明                           
    public   static void exit(int status)   	终止当前运行的   Java   虚拟机,非零表示异常终止
    public   static long currentTimeMillis()	返回当前时间(以毫秒为单位)       

- 示例代码

- 需求:在控制台输出1-10000,计算这段代码执行了多少毫秒

 public class SystemDemo {
      public static void main(String[] args) {
          // 获取开始的时间节点
          long start = System.currentTimeMillis();
          for (int i = 1; i <= 10000; i++) {
              System.out.println(i);
          }
          // 获取代码运行结束后的时间节点
          long end = System.currentTimeMillis();
          System.out.println("共耗时:" + (end - start) + "毫秒");
      }
  }

2.3 Object类的toString方法(应用)

- Object类概述

- Object 是类层次结构的根,每个类都可以将 Object 作为超类。所有类都直接或者间接的继承自该类,换句话说,该类所具备的方法,所有类都会有一份

- 查看方法源码的方式

 - 选中方法,按下Ctrl + B

- 重写toString方法的方式

- 1. Alt + Insert 选择toString
  - 1. 在类的空白区域,右键 -> Generate -> 选择toString

- toString方法的作用:

- 以良好的格式,更方便的展示对象中的属性值

- 示例代码:

     class Student extends Object {
          private String name;
          private int age;
      
          public Student() {
          }
      
          public Student(String name, int age) {
              this.name = name;
              this.age = age;
          }
      
          public String getName() {
              return name;
          }
      
          public void setName(String name) {
              this.name = name;
          }
      
          public int getAge() {
              return age;
          }
      
          public void setAge(int age) {
              this.age = age;
          }
      
          @Override
          public String toString() {
              return "Student{" +
                      "name='" + name + '\'' +
                      ", age=" + age +
                      '}';
          }
      }
      public class ObjectDemo {
          public static void main(String[] args) {
              Student s = new Student();
              s.setName("林青霞");
              s.setAge(30);
              System.out.println(s); 
              System.out.println(s.toString()); 
          }
      }
- 运行结果:
      Student{name='林青霞', age=30}
      Student{name='林青霞', age=30}

2.4 Object类的equals方法(应用)

- equals方法的作用

  - 用于对象之间的比较,返回true和false的结果
  - 举例:s1.equals(s2);    s1和s2是两个对象

- 重写equals方法的场景

 - 不希望比较对象的地址值,想要结合对象属性进行比较的时候。

- 重写equals方法的方式

  - 1. alt + insert  选择equals() and hashCode(),IntelliJ Default,一路next,finish即可
  - 2. 在类的空白区域,右键 -> Generate -> 选择equals() and hashCode(),后面的同上。

- 示例代码:

  class Student {
      private String name;
      private int age;
  
      public Student() {
      }
  
      public Student(String name, int age) {
          this.name = name;
          this.age = age;
      }
  
      public String getName() {
          return name;
      }
  
      public void setName(String name) {
          this.name = name;
      }
  
      public int getAge() {
          return age;
      }
  
      public void setAge(int age) {
          this.age = age;
      }
  
      @Override
      public boolean equals(Object o) {
          //this -- s1
          //o -- s2
          if (this == o) return true;
          if (o == null || getClass() != o.getClass()) return false;
  
          Student student = (Student) o; //student -- s2
  
          if (age != student.age) return false;
          return name != null ? name.equals(student.name) : student.name == null;
      }
  }
  public class ObjectDemo {
      public static void main(String[] args) {
          Student s1 = new Student();
          s1.setName("林青霞");
          s1.setAge(30);
  
          Student s2 = new Student();
          s2.setName("林青霞");
          s2.setAge(30);
  
          //需求:比较两个对象的内容是否相同
          System.out.println(s1.equals(s2));
      }
  }

- 面试题

  // 看程序,分析结果
  String s = “abc”;
  StringBuilder sb = new StringBuilder(“abc”);
  s.equals(sb); 
  sb.equals(s); 
  
  public class InterviewTest {
      public static void main(String[] args) {
          String s1 = "abc";
          StringBuilder sb = new StringBuilder("abc");
          //1.此时调用的是String类中的equals方法.
          //保证参数也是字符串,否则不会比较属性值而直接返回false
          //System.out.println(s1.equals(sb)); // false
  
          //StringBuilder类中是没有重写equals方法,用的就是Object类中的.
          System.out.println(sb.equals(s1)); // false
      }
  }

2.5 Objects (应用)

常用方法

  	方法名                                     		说明              
    public static String toString(对象)       		返回参数中对象的字符串表示形式。
    public static String toString(对象, 默认字符串)	返回对象的字符串表示形式。   
    public static Boolean isNull(对象)        		判断对象是否为空        
    public static Boolean nonNull(对象)       		判断对象是否不为空      

- 示例代码

学生类
      class Student {
            private String name;
            private int age;
      
            public Student() {
            }
      
            public Student(String name, int age) {
                this.name = name;
                this.age = age;
            }
      
            public String getName() {
                return name;
            }
      
            public void setName(String name) {
                this.name = name;
            }
      
            public int getAge() {
                return age;
            }
      
            public void setAge(int age) {
                this.age = age;
            }
      
            @Override
            public String toString() {
                return "Student{" +
                        "name='" + name + '\'' +
                        ", age=" + age +
                        '}';
            }
        }
测试类
      public class MyObjectsDemo {
                public static void main(String[] args) {
            //        public static String toString(对象): 返回参数中对象的字符串表示形式。
            //        Student s = new Student("小罗同学",50);
            //        String result = Objects.toString(s);
            //        System.out.println(result);
            //        System.out.println(s);
      
            //        public static String toString(对象, 默认字符串): 返回对象的字符串表示形式。如果对象为空,那么返回第二个参数.
                    //Student s = new Student("小花同学",23);
            //        Student s = null;
            //        String result = Objects.toString(s, "随便写一个");
            //        System.out.println(result);
            
            //        public static Boolean isNull(对象): 判断对象是否为空
                    //Student s = null;
            //        Student s = new Student();
            //        boolean result = Objects.isNull(s);
            //        System.out.println(result);
      
            //        public static Boolean nonNull(对象): 判断对象是否不为空
                    //Student s = new Student();
                    Student s = null;
                    boolean result = Objects.nonNull(s);
                    System.out.println(result);
                }
        }

2.6 BigDecimal (应用)

- 作用

  可以用来进行精确计算

- 构造方法

 方法名                   	说明       
    BigDecimal(double val)	参数为double
    BigDecimal(String val)	参数为String

- 常用方法

 方法名                                     	说明  
    public BigDecimal add(另一个BigDecimal对象)  	加法  
    public BigDecimal subtract (另一个BigDecimal对象)	减法  
    public BigDecimal multiply (另一个BigDecimal对象)	乘法  
    public BigDecimal divide (另一个BigDecimal对象)	除法  
    public BigDecimal divide (另一个BigDecimal对象,精确几位,舍入模式)	除法  

- 总结

1. BigDecimal是用来进行精确计算的
  2. 创建BigDecimal的对象,构造方法使用参数类型为字符串的。
  3. 四则运算中的除法,如果除不尽请使用divide的三个参数的方法。

代码示例:

  BigDecimal divide = bd1.divide(参与运算的对象,小数点后精确到多少位,舍入模式);
  参数1 ,表示参与运算的BigDecimal 对象。
  参数2 ,表示小数点后面精确到多少位
  参数3 ,舍入模式  
    BigDecimal.ROUND_UP  进一法
    BigDecimal.ROUND_FLOOR 去尾法
    BigDecimal.ROUND_HALF_UP 四舍五入

3.包装类

3.1 基本类型包装类(记忆)

- 基本类型包装类的作用

  将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据
  常用的操作之一:用于基本数据类型与字符串之间的转换

- 基本类型对应的包装类

 基本数据类型 包装类      
    byte   	 Byte     
    short  	 Short    
    int    	 Integer  
    long   	 Long     
    float  	 Float    
    double 	 Double   
    char   	 Character
    boolean	 Boolean  

3.2 Integer类(应用)

- Integer类概述

包装一个对象中的原始类型 int 的值

- Integer类构造方法

 方法名                                    	说明                          
    public Integer(int   value)            	根据 int 值创建 Integer 对象(过时)   
    public Integer(String s)               	根据 String 值创建 Integer 对象(过时)
    public static Integer valueOf(int i)   	返回表示指定的 int 值的 Integer   实例 
    public static Integer valueOf(String s)	返回一个保存指定值的 Integer 对象 String

- 示例代码

public class IntegerDemo {
      public static void main(String[] args) {
          //public Integer(int value):根据 int 值创建 Integer 对象(过时)
          Integer i1 = new Integer(100);
          System.out.println(i1);
  
          //public Integer(String s):根据 String 值创建 Integer 对象(过时)
          Integer i2 = new Integer("100");
  //        Integer i2 = new Integer("abc"); //NumberFormatException
          System.out.println(i2);
          System.out.println("--------");
  
          //public static Integer valueOf(int i):返回表示指定的 int 值的 Integer 实例
          Integer i3 = Integer.valueOf(100);
          System.out.println(i3);
  
          //public static Integer valueOf(String s):返回一个保存指定值的Integer对象 String
          Integer i4 = Integer.valueOf("100");
          System.out.println(i4);
      }
  }

3.3 自动拆箱和自动装箱(理解)

- 自动装箱

把基本数据类型转换为对应的包装类类型

- 自动拆箱

把包装类类型转换为对应的基本数据类型

- 示例代码

Integer i = 100;  // 自动装箱
  i += 200;         // i = i + 200;  i + 200 自动拆箱;i = i + 200; 是自动装箱

3.4 int和String类型的相互转换(记忆)

- int转换为String

- 转换方式

- 方式一:直接在数字后加一个空字符串
- 方式二:通过String类静态方法valueOf()

- 示例代码

       public class IntegerDemo {
            public static void main(String[] args) {
                //int --- String
                int number = 100;
                //方式1
                String s1 = number + "";
                System.out.println(s1);
                //方式2
                //public static String valueOf(int i)
                String s2 = String.valueOf(number);
                System.out.println(s2);
                System.out.println("--------");
            }
        }
- String转换为int
  - 转换方式
    - 方式一:先将字符串数字转成Integer,再调用valueOf()方法
    - 方式二:通过Integer静态方法parseInt()进行转换
  - 示例代码
        public class IntegerDemo {
            public static void main(String[] args) {
                //String --- int
                String s = "100";
                //方式1:String --- Integer --- int
                Integer i = Integer.valueOf(s);
                //public int intValue()
                int x = i.intValue();
                System.out.println(x);
                //方式2
                //public static int parseInt(String s)
                int y = Integer.parseInt(s);
                System.out.println(y);
            }
        }

3.5 字符串数据排序案例(应用)

- 案例需求

有一个字符串:“91 27 46 38 50”,请写程序实现最终输出结果是:27 38 46 50 91

- 代码实现

 public class IntegerTest {
      public static void main(String[] args) {
          //定义一个字符串
          String s = "91 27 46 38 50";
  
          //把字符串中的数字数据存储到一个int类型的数组中
          String[] strArray = s.split(" ");
  //        for(int i=0; i<strArray.length; i++) {
  //            System.out.println(strArray[i]);
  //        }
  
          //定义一个int数组,把 String[] 数组中的每一个元素存储到 int 数组中
          int[] arr = new int[strArray.length];
          for(int i=0; i<arr.length; i++) {
              arr[i] = Integer.parseInt(strArray[i]);
          }
  
          //对 int 数组进行排序
          Arrays.sort(arr);
  
        	for(int i=0; i<arr.length; i++){
           System.out.print(arr[i] + " ");
        	}
  }

4.递归

4.1 递归【应用】

- 递归的介绍

- 以编程的角度来看,递归指的是方法定义中调用方法本身的现象
  - 把一个复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解
  - 递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算

- 递归的基本使用

public class MyFactorialDemo2 {
      public static void main(String[] args) {
          int sum = getSum(100);
          System.out.println(sum);
      }
  
      private static int getSum(int i) {
          //1- 100之间的和
              //100 + (1-99之间的和)
                      // 99 + (1- 98之间的和)
                          //....
                              //1
          //方法的作用: 求 1- i 之间和
          if(i == 1){
              return 1;
          }else{
              return i + getSum(i -1);
          }
      }
  }    

- 递归的注意事项

  - 递归一定要有出口。否则内存溢出
  - 递归虽然有出口,但是递归的次数也不宜过多。否则内存溢出

4.2 递归求阶乘【应用】

- 案例需求

用递归求5的阶乘,并把结果在控制台输出

- 代码实现

 public class DiGuiDemo01 {
          public static void main(String[] args) {
              //调用方法
              int result = jc(5);
              //输出结果
              System.out.println("5的阶乘是:" + result);
          }
      
          //定义一个方法,用于递归求阶乘,参数为一个int类型的变量
          public static int jc(int n) {
              //在方法内部判断该变量的值是否是1
              if(n == 1) {
                  //是:返回1
                  return 1;
              } else {
                  //不是:返回n*(n-1)!
                  return n*jc(n-1);
              }
          }
      }

- 内存图

在这里插入图片描述

5.数组的高级操作

5.1 二分查找 (理解)

- 二分查找概述

  查找指定元素在数组中的位置时,以前的方式是通过遍历,逐个获取每个元素,
  看是否是要查找的元素,这种方式当数组 元素较多时,查找的效率很低
  二分查找也叫折半查找,每次可以去掉一半的查找范围,从而提高查找的效率

- 需求

 在数组{1,2,3,4,5,6,7,8,9,10}中,查找某个元素的位置

- 实现步骤

  1. 定义两个变量,表示要查找的范围。默认min = 0 ,max = 最大索引
  2. 循环查找,但是min <= max
  3. 计算出mid的值
  4. 判断mid位置的元素是否为要查找的元素,如果是直接返回对应索引
  5. 如果要查找的值在mid的左半边,那么min值不变,max = mid -1.继续下次循环查找
  6. 如果要查找的值在mid的右半边,那么max值不变,min = mid + 1.继续下次循环查找
  7. 当min > max 时,表示要查找的元素在数组中不存在,返回-1.

- 代码实现

public class MyBinarySearchDemo {
      public static void main(String[] args) {
          int [] arr = {1,2,3,4,5,6,7,8,9,10};
          int number = 11;
  
          //1,我现在要干嘛? --- 二分查找
          //2.我干这件事情需要什么? --- 数组 元素
          //3,我干完了,要不要把结果返回调用者 --- 把索引返回给调用者
          int index = binarySearchForIndex(arr,number);
          System.out.println(index);
      }
  
      private static int binarySearchForIndex(int[] arr, int number) {
          //1,定义查找的范围
          int min = 0;
          int max = arr.length - 1;
          //2.循环查找 min <= max
          while(min <= max){
              //3.计算出中间位置 mid
              int mid = (min + max) >> 1;
              //mid指向的元素 > number
              if(arr[mid] > number){
                  //表示要查找的元素在左边.
                  max = mid -1;
              }else if(arr[mid] < number){
                  //mid指向的元素 < number
                  //表示要查找的元素在右边.
                  min = mid + 1;
              }else{
                  //mid指向的元素 == number
                  return mid;
              }
          }
          //如果min大于了max就表示元素不存在,返回-1.
          return -1;
      }
    
  }

- 注意事项

 有一个前提条件,数组内的元素一定要按照大小顺序排列,如果没有大小顺序,是不能使用二分查找法的

5.2 冒泡排序 (理解)

- 冒泡排序概述

一种排序的方式,对要进行排序的数据中相邻的数据进行两两比较,将较大的数据放在后面,
依次对所有的数据进行操作,直至所有数据按要求完成排序
  如果有n个数据进行排序,总共需要比较n-1次
  每一次比较完毕,下一次的比较就会少一个数据参与

- 代码实现

  public class MyBubbleSortDemo2 {
      public static void main(String[] args) {
          int[] arr = {3, 5, 2, 1, 4};
          //1 2 3 4 5
          bubbleSort(arr);
      }
  
      private static void bubbleSort(int[] arr) {
          //外层循环控制的是次数 比数组的长度少一次.
          for (int i = 0; i < arr.length -1; i++) {
              //内存循环就是实际循环比较的
              //-1 是为了让数组不要越界
              //-i 每一轮结束之后,我们就会少比一个数字.
              for (int j = 0; j < arr.length - 1 - i; j++) {
                  if (arr[j] > arr[j + 1]) {
                      int temp = arr[j];
                      arr[j] = arr[j + 1];
                      arr[j + 1] = temp;
                  }
              }
          }
  
          printArr(arr);
      }
  
      private static void printArr(int[] arr) {
          for (int i = 0; i < arr.length; i++) {
              System.out.print(arr[i] + " ");
          }
          System.out.println();
      }
    
  }

5.3 快速排序 (理解)

- 快速排序概述

冒泡排序算法中,一次循环结束,就相当于确定了当前的最大值,也能确定最大值在数组中应存入的位置
  快速排序算法中,每一次递归时以第一个数为基准数,找到数组中所有比基准数小的.再找到所有比基准数大的.小的全部放左边,大的全部放右边,确定基准数的正确位置

- 核心步骤

  1. 从右开始找比基准数小的
  2. 从左开始找比基准数大的
  3. 交换两个值的位置
  4. 红色继续往左找,蓝色继续往右找,直到两个箭头指向同一个索引为止
  5. 基准数归位

- 代码实现

public class MyQuiteSortDemo2 {
      public static void main(String[] args) {
  //        1,从右开始找比基准数小的
  //        2,从左开始找比基准数大的
  //        3,交换两个值的位置
  //        4,红色继续往左找,蓝色继续往右找,直到两个箭头指向同一个索引为止
  //        5,基准数归位
          int[] arr = {6, 1, 2, 7, 9, 3, 4, 5, 10, 8};
  
          quiteSort(arr,0,arr.length-1);
  
          for (int i = 0; i < arr.length; i++) {
              System.out.print(arr[i] + " ");
          }
      }
  
      private static void quiteSort(int[] arr, int left, int right) {
       	// 递归结束的条件
          if(right < left){
              return;
          }
  
          int left0 = left;
          int right0 = right;
  
          //计算出基准数
          int baseNumber = arr[left0];
  
          while(left != right){
  //        1,从右开始找比基准数小的
              while(arr[right] >= baseNumber && right > left){
                  right--;
              }
  //        2,从左开始找比基准数大的
              while(arr[left] <= baseNumber && right > left){
                  left++;
              }
  //        3,交换两个值的位置
              int temp = arr[left];
              arr[left] = arr[right];
              arr[right] = temp;
          }
          //基准数归位
          int temp = arr[left];
          arr[left] = arr[left0];
          arr[left0] = temp;
        
  		// 递归调用自己,将左半部分排好序
          quiteSort(arr,left0,left-1);
        	// 递归调用自己,将右半部分排好序
          quiteSort(arr,left +1,right0);
  
      }
  }

5.4 Arrays (应用)

- Arrays的常用方法

方法名                                     	说明               
public static String toString(int[] a)  	返回指定数组的内容的字符串表示形式
public static void sort(int[] a)        	按照数字顺序排列指定的数组    
public static int binarySearch(int[] a, int key)	利用二分查找返回指定元素的索引  

- 示例代码

  public class MyArraysDemo {
        public static void main(String[] args) {
    //        public static String toString(int[] a)    返回指定数组的内容的字符串表示形式
    //        int [] arr = {3,2,4,6,7};
    //        System.out.println(Arrays.toString(arr));
  
    //        public static void sort(int[] a)	  按照数字顺序排列指定的数组
    //        int [] arr = {3,2,4,6,7};
    //        Arrays.sort(arr);
    //        System.out.println(Arrays.toString(arr));
  
    //        public static int binarySearch(int[] a, int key) 利用二分查找返回指定元素的索引
            int [] arr = {1,2,3,4,5,6,7,8,9,10};
            int index = Arrays.binarySearch(arr, 0);
            System.out.println(index);
            //1,数组必须有序
            //2.如果要查找的元素存在,那么返回的是这个元素实际的索引
            //3.如果要查找的元素不存在,那么返回的是 (-插入点-1)
                //插入点:如果这个元素在数组中,他应该在哪个索引上.
        }
    }

- 工具类设计思想

 1. 构造方法用 private 修饰
  2. 成员用 public static 修饰
JAVA学习——常用API 上图有误:plulsSeconds 、plusNanos是增加时间系列方法,equals、isBefore、isAfter是判断系列的方法。对比一下DateTimeFormatter和 LocalDateTime。旧的 Date 和 Calendar 也可以用,但是建议用新的API。接下来是如何使用这些新增的API。 阅读详情

相关推荐

FFMPEG常用API

最近开始集中学习使用FFMpeg,对一些常用的api有了一个大致的了解,下面做个记录以备忘!FFMPEG处理流程FFMPEG的函数使用成千上万,不容易记住,但是如果知道她的使用流程的话,那就方便记住的多了! 在我理解的流程如下:1.打开并且初始化输入流(AVFormatContext): 数据的来源,来自一个网络流,还是一个文件.... 2.打开并且初始化输出流(AVFormatConte

itheimach的专栏 3392

Java常用API

别人写好的一些程序,给咱们程序员直接拿去调用。Java官方其实已经给我们写好了很多很多类,每一个类中又提供了一系列方法来解决与这个类相关的问题。比如String类,表示字符串,提供的方法全都是对字符串操作的。比如ArrayList类,表示一个容器,提供的方法都是对容器中的数据进行操作的。像这样的类还有很多,Java把这些类是干什么用的、类中的每一个方法是什么含义,编写成了文档,我们把这个文档称之为API文档。1. 我们为什么要学习别人写好的程序呢?在行业中有这么一句话:“不要重复造轮子”。

是程序喵呀 4863

FFmpeg —— FFmpeg常用API函数介绍

目录 1.常用API 1.1 通用API 1.1.1 av_register_all()——弃用 1.1.2 内存的分配和释放(av_malloc()、av_free()等) 1.1.3 常见结构体的初始化和销毁(AVFormatContext、AVFrame) 1.1.4 avio_open2() 1.1.5 avcodec_find_encod...

天空的博客 2万+

java常用API

接下来我们用代码演示一下StringBuilder的用法为什么要用StringBuilder对字符串进行操作呢?因为它的效率比String更高,我们可以下面两段代码验证一下。经过我的验证,直接使用Stirng拼接100万次,等了1分钟,还没结束,我等不下去了;但是使用StringBuilder做拼接,不到1秒钟出结果了。接下来,我们通过一个案例把StringBuilder运用下代码如下。

qq_41953754的博客 2127

Java常用类和基础API

获取"ab"在"abkkcadkabkebfkabkskab"中出现的次数。(1)定义用户类,属性为用户名和密码,提供相关的getter和setter方法,构造器,tostring()使用LocalDateTime获取当前时间,把这个时间设置为你的生日,再获取你的百天(出生后100天)日期。使用Calendar获取当前时间,把这个时间设置为你的生日,再获取你的百天(出生后100天)日期。//存储字符串数据的容器。字符串常量池,在不同的jdk版本中,存放位置不同。字符串常量池不允许存放两个相同的字符串常量。

m0_72047169的博客 4万+

STM32驱动SPL06-001气压传感器:I2C通信与温度补偿实战

气压传感器在无人机定高、室内定位和气象监测中至关重要。SPL06-001凭借±0.06 hPa相对精度和I2C接口,成为STM32项目的理想选择。通过I2C总线读取原始数据,并利用出厂校准系数进行温度补偿和气压解算,可输出高精度气压值。本文详细解析SPL06-001的寄存器操作、校准系数拼接及补偿算法,并分享I2C上拉电阻、地址配置等避坑经验,帮助开发者快速实现气压测量与高度解算。

weixin_29188043的博客 339

Java笔记——JAVA常用API

字符串不变,它们的值在创建后不能被更改(String是一个类,是引用数据类型,而引用数据类型的变量存放的是对象的地址值,所以,这里不能改变的字符串值,指的是对象,String类的变量内容可以更改,因为它存的是对象的地址值)。源码中表示: Math类的构造方法是私有的,所以不允许创建Math类对象,但Math类中所有的公共方法都是静态的,可以通过类名.方法名()调用。这里等号左边的s是一个引用数据类型的变量,在栈内存中,它存放的是等号右边new出来的String类型的对象的地址值,这个对象在堆内存中。

a25847a的博客 1605

海康威视工业相机网络配置实战:从MVS软件操作到IP地址规划

本文详细介绍了海康威视工业相机的网络配置实战,从MVS软件操作到IP地址规划。重点讲解了IP设置的重要性、Windows系统下的网络配置步骤、避免IP冲突的技巧,以及MVS软件中的相机IP配置方法。帮助用户快速掌握工业相机的网络连接技术,确保稳定高效的图像采集。

weixin_30296405的博客 485

JAVA常用API

Java常用API String、StringBuilder、Math、System、Object、Objects、BigDecimal等

tuoniaoxs的博客 1万+

告别零碎资料!手把手教你搞定ASTER L1T数据的预处理全流程(附ENVI实操)

本文详细介绍了ASTER L1T数据的预处理全流程,包括数据获取、质量检查、ENVI实操步骤(辐射定标、大气校正、几何精校正)以及热红外波段深度处理。特别适合地信领域初学者和研究人员,帮助快速掌握ASTER L1T数据处理技巧,提升定量反演研究效率。

weixin_30385925的博客 354

图信号处理中的多尺度分析:图小波变换与图傅里叶变换的对比与应用

本文深入探讨了图信号处理中的多尺度分析方法,重点对比了图小波变换(GWT)与图傅里叶变换(GFT)的技术特点与应用场景。通过分析图的拓扑结构,GWT展现出强大的局部洞察力,适用于异常检测和社区发现;而GFT则擅长全局频率分析,适合趋势分析和信号去噪。文章结合实战案例,为读者提供了方法选型指南和前沿进展,帮助开发者在生物信息学、社交网络分析等领域高效应用这些技术。

weixin_30369041的博客 406

HBase Java常用API

HBase Java常用API 常用API hbase类 功能 org.apache.hadoop.hbase.HBaseConfiguration HBase配置信息。默认的构造方法会尝试从hbase-default.xml和hbase-site.xml中读取配置。 org.apache.hadoop.hbase.client.HBaseAdmin 提供了一个接口来管理HBa...

池边的树的博客 315

如何实现C++动态调用动态链接库(DLL或SO)

使用函数指针来定义函数的类型,以便在动态库中找到的函数能够正确地调用。函数指针的类型必须与函数的签名(参数类型和返回类型)匹配。// 函数指针#ifdef _MSC_VER // Windows环境下的导出声明__declspec。

weixin_48438353的博客 7984

常用的数组API

数组的常用API, 包括 批处理 API

m0_72247725的博客 4092

A Side Scan Sonar Image Denoising Algorithm Based on Compound of Fuzzy Weighted Average and Kalman F

Abstract 水下侧扫声纳图像的噪声来源:高斯噪声、脉冲、斑点噪声。 传统方法只能移除部分噪声,并且去噪后容易造成细节模糊。 本文在考虑到噪声的随机性以后,提出一种融合了模糊加权平均和卡尔曼滤波的去噪方法。 在最大化保留图像细节的基础上,同时去除高斯噪声和脉冲噪声 一.Introduction 由于海底环境和声波自身干涉的影响,声纳图像生成的图像难免会有噪点。声纳采集的图像通常会有高斯噪声、脉...

qq_44516871的博客 927

【连接器专题】 EIA-364 系列标准的完整列表

EIA-364 系列标准在电子工业中具有重要的地位,为电子连接器和互连系统的测试和验证提供了统一的、可操作的流程和方法,有助于提高电子产品的质量和可靠性,促进了电子工业的发展

一点硬件 2658

【java中常用的API】

java中有很多常用的API,它们提供了便捷的使用方法和工具类,让我们来看一看java中常用的API吧。 1.math类: 它包含基本的数字运算方法,如对数、指数、平方根和三角函数等,一般数据类型为double(也有int型) 但是它没有构造方法,有static进行修饰(如果类的成员都是静态的则通过类名就可以直接调用。) math类中的常用方法: math类的常用方法 方法名 说明 public static int abs(int a) 返回参数的绝对值 public st

akisi的博客 7953

海洋捕食者算法(MPA)详解:从海洋生态智慧到高性能优化

摘要: 海洋捕食者算法(MPA)是一种基于海洋生态觅食行为的元启发式优化算法,模拟捕食者(如鲨鱼)的布朗运动和莱维飞行策略进行全局与局部搜索。算法分为三阶段:高速比阶段(全局探索)、单位速度比阶段(平衡搜索)和低速比阶段(局部开发),通过精英矩阵和FADs效应(概率扰动)避免早熟收敛。MPA具有参数少、收敛快、寻优能力强等特点,适用于复杂优化问题,其数学模型将生物行为转化为随机游走与自适应策略,并通过收敛因子动态调整探索-开发平衡。实验表明,MPA在多个基准问题上表现优异。

qq_42212808的博客 273

十一、常用 API

本文主要讲解了 API 介绍和文档、包、String 和 ArrayLIst。其中还有几个案例大家可以自己尝试动手操作一下。

fengguu的博客 820

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

java-常用API

别人写好的一些程序,给咱们程序员直接拿去调用。Java官方其实已经给我们写好了很多很多类,每一个类中又提供了一系列方法来解决与这个类相关的问题。比如String类,表示字符串,提供的方法全都是对字符串操作的。比如ArrayList类,表示一个容器,提供的方法都是对容器中的数据进行操作的。像这样的类还有很多,Java把这些类是干什么用的、类中的每一个方法是什么含义,编写成了文档,我们把这个文档称之为API文档。1. 今天我们主要学习两个类,一个是String类、还有一个是ArrayList类。

qq_69149404的博客 922

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Java常用API总结

包括基本数据类型的包装类、String类、Object类等。:包括List、Set、Map等。常用的有ArrayList、LinkedList、HashSet、TreeSet、HashMap、TreeMap等。:包括字节流和字符流的API,常用的有InputStream、OutputStream、Reader、Writer等。:包括Socket和ServerSocket等。:包括多线程编程的API,如Thread、Runnable、Executor、Semaphore等。

岛森年的博客 1576

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

【API】16. 常用API

关于部分常用API的整理。API(Application Programming Interface)是一组为开发人员提供的预定义的类、接口、方法和常量的集合,用于构建Java应用程序。

kuxiaoyang的博客 1418

Java08 API常用类

String.format(要格式化输出的数组,动态参数),动态参数指的是原字符串中被占位符占用位置的真正参数----------------------静态方法---------------------------------返回值为String型字符串。str.getByte(“编码格式”),UTF-8:一个汉字占三个字节,GBK:一个汉字占两个字节---------------------------------------------------------------返回值为byte型数组。

Stringzhua的博客 1311
上一篇: 内部类和Lambda表达式
下一篇: Java中时间日期类、JDK8时间日期类和异常
MemoryHer
博客等级 码龄5年 4粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值