5.0 Java API

news2024/11/29 2:39:00

API(Application Programming Interface)指的是应用程序编程接口,API可以让编程变得更加方便简单。Java也提供了大量API供程序开发者使用,即Java API。Java API指的就是JDK提供的各种功能的Java类库,如之前所讲的Arrays、Collection类等,都是Java提供给开发者的类库。Java API非常多,无法针对所有的API都进行逐一讲解,本章将详细讲解实际开发中的常用API。

1. 字符串类

1.1. String类

(1)String类对象

  • String类对象进行初始化

String 变量名 = 字符串;

使用上述语法格式初始化String对象,示例代码如下所示。

String str1 = null;   //将字符串str1设置为空
String str2 = "";     //将字符串str2设置为空字符串
String str3 = "abc"; //将字符串str3设置为abc

String类是专门用于处理字符串的类。字符串一旦被创建,其内容就不能再改变。例如下面的代码。

String str = "hello";
str = "helloworld"; 

如下图所示,str在初始化时,其内存地址指向的是字符串常量池的"hello"字符串的地址0x001。当为str重新赋值时为"helloworld"时,程序会在常量池分配一块内存空间存储"helloworld"字符串,然后将str指向"helloworld"字符串。由此可知,str的值发生了变化,是指str的指向发生了变化,但字符串"hello"被创建之后,存储在常量池中,它的值不能被改变。

  • 调用String类的构造方法初始化字符串对象

String 变量名 = new String(字符串);

String类的常见构造方法如下表所示。

方法声明

功能描述

String()

创建一个内容为空的字符串

String(String value)

String(String value)

String(char[] value)

根据指定的字符数组value创建对象

String(byte[] bytes)

根据指定的字节数组bytes创建对象

(2)String类的常用方法

String类的常用方法包括获取字符串长度以及访问字符串中的字符、字符串的转换操作、字符串的替换和去除空格操作、字符串判断、字符串的截取和分割操作。

方法声明

功能描述

int length()

返回当前字符串的长度,即字符串中字符的个数。

int indexOf(int ch)

返回指定字符ch在字符串中第一次出现位置的索引。

int lastIndexOf(int ch)

返回指定字符ch在字符串中最后一次出现位置的索引。

int indexOf(String str)

返回指定子字符串str在字符串第一次出现位置的索引。

int lastIndexOf(String str)

返回指定子字符串str在此字符串中最后一次出现位置的索引。

char charAt(int index)

返回字符串中index位置上的字符,其中index的取值范围是0~(字符串长度-1)。

boolean endsWith(String suffix)

判断此字符串是否以指定的字符串结尾。

boolean equals(Object obj)

比较obj与当前字符串对象的内容是否相同。

boolean equalsIgnoreCase(String str)

以忽略大小写的方式比较str与当前字符串对象的内容是否相同。

int compareTo(String str)

按对应字符的Unicode编码比较str与当前字符串对象的大小。若当前字符串对象比str大,返回正整数;若比str小,返回负整数;若相等则返回0。

int compareToIgnoreCase(String str)

按对应字符的Unicode编码以忽略大小写的方式比较str与当前字符串对象的大小。若当前字符串对象比str大,返回正整数;若比str小,返回负整数;若相等则返回0。

boolean isEmpty()

判断字符串长度是否为0,如果为0则返回true,反之则返回flase。

boolean startsWith(String prefix)

判断此字符串是否以指定的字符串prefix开始。

boolean contains(CharSequence cs)

判断此字符串中是否包含指定的字符序列cs。

String toLowerCase()

使用默认语言环境的规则将String中的所有字符都转换为小写。

String toUpperCase()

使用默认语言环境的规则将String中的所有字符都转换为大写。

static String valueOf(int i)

将int变量i转换成字符串。

char[] toCharArray()

将此字符串转换为一个字符数组。

String replace(CharSequence oldstr, CharSequence newstr)

使用newstr替换原字符串中的oldstr,返回一个新的字符串。

String concat(String str)

将str连接到当前字符串对象之后。

String[] split(String regex)

根据参数regex将原来的字符串分割为若干个子字符串。

String substring(int beginIndex)

返回一个新字符串,它包含从指定的beginIndex处开始,直到此字符串末尾的所有字符。

String substring(int beginIndex, int endIndex)

返回一个新字符串,它包含从指定的beginIndex处开始,直到索引endIndex-1处的所有字符。

String trim()

去除了原字符串首尾的空格。

  • 获取字符串长度以及访问字符串中的字符案例

在Java程序中,有时需要获取字符串的一些信息,如获取字符串长度、获取指定索引位置的字符等。针对每一个操作,String类都提供了对应的方法。

public class TestDemo {
    @Test
    public void test(){
        String s = "ababcdedcba";
        System.out.println("字符串的长度为:" + s.length());
        System.out.println("字符串中第一个字符:" + s.charAt(0));
        System.out.println("字符c第一次出现的位置:" + s.indexOf('c'));
        System.out.println("字符c最后一次出现的位置:" + s.lastIndexOf('c'));
        System.out.println("子字符串ab第一次出现的位置:" + s.indexOf("ab"));
        System.out.println("子字符串ab字符串最后一次出现的位置:" + s.lastIndexOf("ab"));
    }
}
  • 字符串的转换操作案例

程序开发中,经常需要对字符串进行转换操作。例如,将字符串转换成数组的形式,将字符串中的字符进行大小写转换等。

public class TestDemo {
    @Test
    public void test() {
        String str = "abcd";
        System.out.print("将字符串转为字符数组后的结果:");
        char[] charArray = str.toCharArray(); // 字符串转换为字符数组
        for (int i = 0; i < charArray.length; i++) {
            if (i != charArray.length - 1) {
                // 如果不是数组的最后一个元素,在元素后面加逗号
                System.out.print(charArray[i] + ",");
            } else {
                //如果不是数组的最后一个元素,则在元素后不加逗号
                System.out.println(charArray[i]);
            }
        }
        System.out.println("将int值转换为String类型之后的结果:" + String.valueOf(12));
        System.out.println("将字符串转换成大写之后的结果:" + str.toUpperCase());
        System.out.println("将字符串转换成小写之后的结果:" + str.toLowerCase());
    }
}
  • 字符串的替换和去除空格操作案例

程序开发中,用户输入数据时经常会不小心输入错误的数据和空格,这时可以调用String类的replace()和trim()方法,进行字符串的替换和去除空格操作。trim()方法用于去除字符串两端的空格,不能去除中间的空格。若想去除字符串中间的空格,需要调用String类的replace()方法。

public class TestDemo {
    @Test
    public void test() {
        String s = "wfit";
        // 字符串替换操作
        System.out.println("将wf替换成wflg的结果:" + s.replace("wf", "wflg"));
        // 字符串去除空格操作
        String s1 = "  wf  it  ";
        System.out.println("去除字符串两端空格后的结果:" + s1.trim());
        System.out.println("去除字符串中所有空格后的结果:" + s1.replace(" ", ""));
    }
}
  • 字符串判断案例

操作字符串时,经常需要对字符串进行一些判断,例如判断字符串是否以指定的字符串开始、结束,判断字符串是否包含指定的字符串,字符串是否为空等。

public class TestDemo {
    @Test
    public void test() {
        String s1 = "String"; // 定义一个字符串
        String s2 = "string";
        System.out.println("判断s1字符串对象是否以Str开头:" + s1.startsWith("Str"));
        System.out.println("判断是否以字符串ng结尾:" + s1.endsWith("ng"));
        System.out.println("判断是否包含字符串tri:" + s1.contains("tri"));
        System.out.println("判断字符串是否为空:" + s1.isEmpty());
        System.out.println("判断s1和s2内容是否相同:" + s1.equals(s2));
        System.out.println("忽略大小写的情况下判断s1和s2内容是否相同:" + s1.equalsIgnoreCase(s2));
        System.out.println("按对应字符的Unicode比较s1和s2的大小:" + s1.compareTo(s2));
    }
}
  • 字符串的截取和分割操作案例

在操作字符串时,截取和分割也是经常要执行的操作,例如,截取一个文本某一段内容,使用特殊的符号将字符串分割为若干段。String类提供了substring()方法和split()方法实现字符串的截取和分割操作,substring()方法用于截取字符串的一部分,split()方法用于将字符串按照某个字符进行分割。

public class TestDemo {
    @Test
    public void test() {
        String str = "石家庄-武汉-哈尔滨";
        // 下面是字符串截取操作
        System.out.println("从第5个字符截取到末尾的结果:" + str.substring(4));
        System.out.println("从第5个字符截取到第6个字符的结果:" + str.substring(4, 6));
        // 下面是字符串分割操作
        System.out.print("分割后的字符串数组中的元素依次为:");
        String[] strArray = str.split("-"); // 将字符串转换为字符串数组
        for (int i = 0; i < strArray.length; i++) {
            if (i != strArray.length - 1) {
                // 如果不是数组的最后一个元素,在元素后面加逗号
                System.out.print(strArray[i] + ",");
            } else {
                System.out.println(strArray[i]);// 数组的最后一个元素后面不加逗号
            }
        }
    }
}

1.2. StringBuilder与StringBuffer

(1)StringBuffer

在Java中,因为String类是final类型的,所以使用String定义的字符串是一个常量,也就是说使用String定义的字符串一旦创建,其内容和长度是不可改变的。为了便于对字符串进行修改,Java提供了StringBuffer类(也称字符串缓冲区)来操作字符串。StringBuffer类和String类最大的区别在于它的内容和长度都是可以改变的。StringBuffer类似一个字符容器,当在其中添加或删除字符时,所操作的都是这个字符容器,因此并不会产生新的StringBuffer对象。

(2)StringBuffer类的常用方法

方法声明

功能描述

StringBuffer()

创建初始容量为16,不含任何内容的字符串缓冲区

StringBuffer(int capacity)

创建初始容量为capacity,不含任何内容的字符串缓冲区

StringBuffer(String s)

创建初始容量为s.length()+16,内容为s的字符串缓冲区

int length()

获取缓冲区中字符串内容的长度

StringBuffer append(char c)

添加参数到StringBuffer对象中

StringBuffer insert(int offset,String str)

在字符串的offset位置插入字符串str

StringBuffer deleteCharAt(int index)

移除此序列指定位置的字符

StringBuffer delete(int start,int end)

删除StringBuffer对象中指定范围的字符或字符串序列

StringBuffer replace(int start,int end,String s)

在StringBuffer对象中替换指定的字符或字符串序列

void setCharAt(int index, char ch)

修改指定位置index处的字符序列

StringBuffer reverse()

反转字符串

String substring(int start)

获取缓冲区中字符串从索引start(含)至末尾的子串

String substring(int start,int end)

获取缓冲区中字符串从索引start(含)至索引end(不含)的子串

String toString()

获取缓冲区中的字符串

(3)StringBuilder

除了StringBuffer类,还可以使用StringBuilder类修改字符串,StringBuffer类和StringBuilder类的对象都可以被多次修改,且不产生新的未使用对象。StringBuilder类与StringBuffer类的功能相似,且两个类中所提供的方法也基本相同。二者之间最大不同在于StringBuffer的方法是线程安全的,而StringBuilder没有实现线程安全功能,所以性能略高。通常情况下,如果创建一个内容可变的字符串对象,应该优先考虑使用StringBuilder类。

(4)StringBuilder案例

public class TestString {
    @Test
    public void test(){
        StringBuilder str = new StringBuilder();
        // 拼接字符串
        str.append("我的姓名是张三");
        str.append("年龄20岁");
        System.out.println(str.toString());
        // 反转
        str.reverse();
        System.out.println(str.toString());
        // 长度
        System.out.println(str.length());
    }
}

2. System类

System类定义了一些与系统相关的属性和方法,它所提供的属性和方法都是静态的,因此,可以使用System类直接引用类中的属性和方法。System类的常用方法如下所示。

方法名称

功能描述

static void exit(int status)

该方法用于终止当前正在运行的Java虚拟机,其中参数status表示状态码,若状态码非0 ,则表示异常终止

static void gc()

运行垃圾回收器,并对内存中的垃圾进行回收

在Java中,一个对象如果不再被任何栈内存所引用,该对象就称为垃圾对象。垃圾对象会占用内存空间,时间一长,垃圾对象越来越多,就会导致内存空间不足。针对这种情况,Java引入了垃圾回收机制。除了等待Java虚拟机进行自动垃圾回收外,还可以通过调用System.gc()方法通知Java虚拟机立即进行垃圾回收。

3. Math类

Math类是一个工具类,类中包含许多用于进行科学计算的方法,如计算一个数的平方根、绝对值或获取一个随机数等。因为Math类构造方法的访问权限是private,所以无法创建Math类的对象。Math类中所有方法都是静态方法,可以直接通过类名调用Math类中的方法。除静态方法外,Math类中还定义了两个静态常量PI和E,分别代表数学中的π和e。

(1)Math类的常用方法

方法声明

功能描述

abs(double a)

用于计算a的绝对值

sqrt(double a)

用于计算a的方根

ceil(double a)

用于计算大于a的最小整数,并将该整数转化为double型数据。例如Math.ceil(15.2)的值是16.0

floor(double a)

用于计算小于a的最大整数,并将该整数转化为double型数据。例如Math.ceil(-15.2)的值是-16.0

round(double a)

用于计算小数a进行四舍五入后的值

max(double a,double b)

用于返回a和b的较大值

min(double a,double b)

用于返回a和b的较小值

random()

用于生成一个大于0.0小于1.0的随机值(包括0不包括1)

sin(double a)

返回a的正弦值

asin(double a)

返回a的反正弦值

pow(double a,double b)

用于计算a的b次幂,即ab的值

(2)Math类的案例

public class TestDemo {
    @Test
    public void test() {
        System.out.println("计算-10的绝对值: " + Math.abs(-10));
        System.out.println("求大于5.6的最小整数: " + Math.ceil(5.6));
        System.out.println("求小于-4.2的最大整数: " + Math.floor(-4.2));
        System.out.println("对-4.6进行四舍五入: " + Math.round(-4.6));
        System.out.println("求2.1和-2.1中的较大值: " + Math.max(2.1, -2.1));
        System.out.println("求2.1和-2.1中的较小值: " + Math.min(2.1, -2.1));
        System.out.println("生成一个大于等于0.0小于1.0随机值: " +Math.random());
        System.out.println("计算1.57的正弦结果: "+Math.sin(1.57));
        System.out.println("计算4的开平方的结果: "+Math.sqrt(4));
    }
}

4. Ramdom类

Random类可以产生指定取值范围的随机数字。

(1)Random类构造方法

Random类提供了两个构造方法,如下表所示。

方法声明

功能描述

Random()

使用当前机器时间创建一个Random对象

Random(long seed)

使用参数seed指定的种子创建一个Random对象

  • 使用无参构造方法来产生随机数

public class TestDemo {
    @Test
    public void test() {
        Random random = new Random(); 
        // 随机产生10个[0,100)之间的整数
        for (int x = 0; x < 10; x++) {
            System.out.println(random.nextInt(100));
        }
    }
}
  • 使用有参构造方法产生随机数

当创建Random类对象时,如果指定了相同的种子,则每个对象产生的随机数序列相同。

public class TestDemo {
    @Test
    public void test() {
        Random r = new Random(1);   // 创建对象时传入种子
        // 随机产生10个[0,100)之间的整数
        for (int x = 0; x < 10; x++) {
            System.out.println(r.nextInt(100));
        }
    }
}

(2)Random类常用方法

Random类提供了更多的方法来生成随机数,不仅可以生成整数类型的随机数,还可以生成浮点类型的随机数。Random类的常用方法,如下表所示。

方法声明

功能描述

boolean nextBoolean()

随机生成boolean类型的随机数

double nextDouble()

随机生成double类型的随机数

float nextFloat()

随机生成float类型的随机数

long nextLong()

随机生成long类型的随机数

int nextInt()

随机生成int类型的随机数

int nextInt(int n)

随机生成[0~n)之间int类型的随机数

(3)Random案例

public class TestDemo {
    @Test
    public void test() {
        Random r = new Random(); // 创建Random实例对象
        System.out.println("生成boolean类型的随机数: " + r.nextBoolean());
        System.out.println("生成float类型的随机数: " + r.nextFloat());
        System.out.println("生成double类型的随机数:" + r.nextDouble());
        System.out.println("生成int类型的随机数:" + r.nextInt());
        System.out.println("生成0~100之间int类型的随机数:" +r.nextInt(100));
        System.out.println("生成long类型的随机数:" + r.nextLong());
    }
}

5. 日期和时间类

5.1. LocalDate

LocalDate类表示不带时区的日期,它所表示的日期包括年份和月份两部分。LocalDate类不能代表时间线上的即时信息,只是描述日期。LocalDate类提供了两个获取日期对象的方法now()和of(int year, int month, int dayOfMonth),具体如下所示。

//按指定日期创建LocalDate对象
LocalDate date = LocalDate.of(2020, 12, 12);
//从默认时区的系统时钟获取当前日期
LocalDate now1 = LocalDate.now();
  • 当前日期案例

public class TestDate {
    @Test
    public void test(){
        LocalDate now = LocalDate.now();
        String str = now.getYear() + "年" + now.getMonth().getValue() + "月" + now.getDayOfMonth() + "日";
        System.out.println(str);
    }
}
  • 固定日期案例

public class TestDate {
    @Test
    public void test(){
        LocalDate now = LocalDate.of(2022,5,10);
        String str = now.getYear() + "年" + now.getMonth().getValue() + "月" + now.getDayOfMonth() + "日";
        System.out.println(str);
    }
}
  • 字符串日期案例

public class TestDate {
    @Test
    public void test(){
        String dateStr = "2021-05-10";
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        LocalDate date = LocalDate.parse(dateStr,formatter);
        System.out.println(date);
    }
}

5.2. LocalTime

LocalTime类用来表示时间,通常表示的是小时分钟秒。

  • 当前时间案例

public class TestTime {
    @Test
    public void test(){
        LocalTime now = LocalTime.now();
        String str = "当前时间:" + now.getHour() + ":" + now.getMinute() + ":" + now.getSecond();
        System.out.println(str);
    }
}
  • 固定时间案例

public class TestTime {
    @Test
    public void test(){
        LocalTime now = LocalTime.of(12,20,59);
        String str = "当前时间:" + now.getHour() + ":" + now.getMinute() + ":" + now.getSecond();
        System.out.println(str);
    }
}
  • 字符串时间案例

public class TestTime {
    @Test
    public void test(){
        String timeStr = "13:20:59";
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss");
        LocalTime time = LocalTime.parse(timeStr,formatter);
        System.out.println(time);
    }
}

5.3. LocalDateTime

LocalDateTime类是LocalDate类与LocalTime类的综合,它既包含日期也包含时间。

  • 当前日期时间案例

public class TestDateTime {
    @Test
    public void test(){
        LocalDateTime dateTime = LocalDateTime.now();
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        System.out.println(dateTime.format(formatter));
    }
}
  • 字符串日期时间案例

public class TestTime {
    @Test
    public void test(){
        String timeStr = "2022-05-01 13:20:59";
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        LocalDateTime dateTime = LocalDateTime.parse(timeStr,formatter);
        System.out.println(dateTime.format(formatter));
    }
}

6. 基本类型包装类

Java程序设计提倡一种思想,即万物皆对象。这样就出现一个矛盾,因为Java中的数据类型分为基本数据类型和引用数据类型,很多类的方法都需要接收引用类型的对象,此时就无法将一个基本数据类型的值传入。为了解决这样的问题,就需要将基本数据类型值进行包装,即将基本数据类型值包装为引用数据类型的对象。能够将基本数据类型值包装为引用数据类型对象的类,称为包装类。JDK提供了一系列包装类,通过这些包装类可以将基本数据类型的值包装为引用数据类型的对象。

Java提供8个基本数据类型包装类(wrapper class),通过这些类,可以将基本类型的数据包装成对象。

基本类型

对应的包装类

基本类型

对应的包装类

boolean

Boolean

int

Integer

char

Character

long

Long

byte

Byte

float

Float

short

Short

double

Double

(1)自动装箱

自动装箱(autoboxing)是指基本类型的数据可以自动转换为包装类的实例。

(2)自动拆箱

自动拆箱(unboxing)是指包装类的实例自动转换为基本类型的数据。

(3)自动拆装箱案例

public class TestDemo {
    @Test
    public void test() {
        Integer num = Integer.valueOf(10);     //手动装箱
        int sum = num.intValue() + 10;           //手动拆箱
        System.out.println(num);
        System.out.println(sum);
    }
}

7. Lambda表达式

Lambda表达式是JDK 8之后新增的一个新特性,Lambda可以取代大部分的匿名内部类,写出更优雅的Java代码,尤其在集合的遍历和其他集合操作中,可以极大地优化代码结构。JDK也提供了大量的内置函数式接口供我们使用,使得 Lambda 表达式的运用更加方便、高效。

(1)Lambda格式

Lambda表达式由参数列表、箭头符号 -> 和方法体组成。方法体既可以是一个表达式,也可以是一个语句块,一般格式如下。

(参数1, 参数2, ...) -> 表达式
(参数1, 参数2, ...) -> { /* 代码块 */ }

(2)Lambda表达式案例

public class TestDemo {

    @Test
    public void test(){
        List<String> list = new ArrayList<String>();
        list.add("张三");
        list.add("李四");
        list.add("王五");
        //for循环遍历
        for(int i=0;i<list.size();i++){
            String course = list.get(i);
            System.out.println(course);
        }
        //增强的for循环
        for (String course: list) {
            System.out.println(course);
        }
        //lambda表达式
        list.forEach(course -> System.out.println(course));
    }

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1218374.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++运算符重载详解(日期类实操)

前言&#xff1a;为什么要实现运算符重载&#xff1f; 在C语言中&#xff0c;对于内置类型&#xff0c;我们可以根据符号>、<、等去直接比较大小&#xff0c;但是对于自定义来说&#xff0c;肯定不能直接比较大小&#xff0c;例如下面的日期类&#xff0c;想要比较两个两…

Genio 500_MT8385安卓核心板:功能强大且高效

Genio 500(MT8385)安卓核心板是一款功能强大且高效的AIoT平台&#xff0c;内置的AI处理器(APU)工作频率可达500MHz&#xff0c;支持深度学习、神经网络加速和计算机视觉应用。配合高达2500万像素的摄像头&#xff0c;可以为AI相机应用提供清晰、精确的图像&#xff0c;如人脸识…

vscode中Chinese (Simplified)汉化无效解决方法

问题复现 之前已经下载了 Chinese (Simplified)插件并启用了&#xff0c;都是正常的中文简体。有时候打开vscode的时候&#xff0c;会发现汉化失效了&#xff0c;如图&#xff1a; 解决方法 依次点击 扩展&#xff08;Extensions&#xff09;— Chinese (Simplified) — 选…

Banana Pi BPI-W3之RK3588安装Qt+opencv+采集摄像头画面.

场景&#xff1a;在Banana Pi BPI-W3 RK3588上做qt开发工作RK3588安装Qtopencv采集摄像头画面 2. 环境介绍 硬件环境&#xff1a; Banana Pi BPI-W3RK3588开发板、MIPI-CSI摄像头( ArmSoM官方配件 )软件版本&#xff1a; OS&#xff1a;ArmSoM-W3 Debian11 QT&#xff1a;QT5…

LeetCode(20)最长公共前缀【数组/字符串】【简单】

目录 1.题目2.答案3.提交结果截图 链接&#xff1a; 14. 最长公共前缀 1.题目 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀&#xff0c;返回空字符串 ""。 示例 1&#xff1a; 输入&#xff1a;strs ["flower","flow&qu…

【计算机组成原理】定点加法、减法运算

系列文章目录 绘制出纯整数(1字节)和纯小数的数轴 将十进制数20.59375&#xff0c;转换成754标准的32位浮点数的二进制存储格式 用双符号位补码求 x 0.1010011, y -0.1001010, 分别求出 x y, x - y&#xff0c;并判溢出

求10的阶乘之和

这个问题很简单&#xff0c;我们用for循环就可以做到&#xff01; 目录 1.用两个for循环求值 2.用一个for循环求值 1.用两个for循环求值 int main() {int i 1;int ret 1;int sum 0;int n 0;for (n 1; n < 10; n){ret 1;for (i 1; i < n; i){ret ret * i;}sum …

Linux_/proc目录_查看处理器的信息/proc/cpuinfo

1、cat /proc/cpuinfo_查看/proc/cpuinfo文件的内容 可以看到板卡有4个处理器&#xff0c;剩下的信息emmm...... 2、BogoMIPS_反映CPU运算速率 MIPS是millions of instructions per second(百万条指令每秒)的缩写&#xff0c;其代表CPU的运算速率。 BogoMIPS是Linux大致计算…

elementplus DateTimePicker 日期范围选择器 设置默认时间范围为当前月的起始时间到结束时间

代码如下&#xff1a; <el-date-pickerv-model"value"type"datetimerange"start-placeholder"Start Date"end-placeholder"End Date":default-time"defaultTime" />const defaultTime: [Date, Date] [new Date(2000…

el-table中el-popover失效问题

场景&#xff1a;先有一个数据表格&#xff0c;右侧操作栏为固定列&#xff0c;另外有一个字段使用了el-popover来点击弹出框来修改值&#xff0c;发现不好用&#xff0c;点击后无法显示弹出框&#xff0c;但当没有操作栏权限时却意外的生效了。 这种问题真是不常见&#xff0…

蓝桥杯 vector

vector的定义和特性 注意&#xff1a;vector需要开C11标准 vector的常用函数 push_back():将元素添加到vector末尾 pop_back():删除vector末尾的元素 begin()和end():返回指向vector第一个元素和最后一个元素之后一个位置的迭代器。 示例 vector<int> vec{10,20,30};f…

Leetcode刷题详解——衣橱整理

1. 题目链接&#xff1a;LCR 130. 衣橱整理 2. 题目描述&#xff1a; 家居整理师将待整理衣橱划分为 m x n 的二维矩阵 grid&#xff0c;其中 grid[i][j] 代表一个需要整理的格子。整理师自 grid[0][0] 开始 逐行逐列 地整理每个格子。 整理规则为&#xff1a;在整理过程中&am…

【Linux】环境变量--PATH环境变量/环境变量的操作/命令行参数

文章目录 一、PATH环境变量1.什么是PATH环境变量2.如何添加PATH环境变量3.系统中的其他环境变量4.环境变量的来源 二、环境变量的操作1.设置环境变量2.通过getenv获取环境变量3.环境变量的意义 三、命令行参数 一、PATH环境变量 1.什么是PATH环境变量 这里我们先提出一个问题…

限制Domain Admin登录非域控服务器和用户计算机

限制Domain Admin管理员使用敏感管理员帐户(域或林中管理员组、域管理员组和企业管理员组中的成员帐户)登录到信任度较低的服务器和用户端计算机。 此限制可防止管理员通过登录到信任度较低的计算机来无意中增加凭据被盗的风险。 建议采用的策略 建议使用以下策略限制对信任度…

Python 自动化: eip、cen监控数据对接到 grafana

新钛云服已累计为您分享775篇技术干货 概览 日常运维中&#xff0c;我们有时需要关注阿里云中 EIP 和 CEN 的监控数据&#xff0c;如果每次登录到平台查看&#xff0c;不太方便。 可以通过 API 获取监控数据&#xff0c;并输入到 influxDB&#xff0c;然后再到 Grafana 中展示&…

2023最新最全【虚幻4引擎】下载安装零基础教程

1、创建Epic Games账户 我们先打开浏览器&#xff0c;输入以下网址&#xff1a;unrealengine.com 随后点击【立即开始】 选择许可证类型&#xff0c;此处提供三种选项&#xff0c;分别是【游戏】、【非游戏】以及【私人定制】 第一类许可证适用于游戏和商业互动产品&#xff…

CSS特效012:边框线条环绕流动效果

CSS常用示例100专栏目录 本专栏记录的是经常使用的CSS示例与技巧&#xff0c;主要包含CSS布局&#xff0c;CSS特效&#xff0c;CSS花边信息三部分内容。其中CSS布局主要是列出一些常用的CSS布局信息点&#xff0c;CSS特效主要是一些动画示例&#xff0c;CSS花边是描述了一些CSS…

小程序如何添加打印机来打印订单

在采云小程序中&#xff0c;支持打印订单的小票、标签、发货单和电子面单。小票打印机用于打印小票&#xff0c;类似于超市小票、外卖小票等。标签打印机用于打印商品标签&#xff0c;类似于奶茶上面粘贴的标签&#xff0c;用于表示饮料名称和规格等。货单打印机用于打印发货单…

Rust 语言中的结构体

目录 1、结构体 2、结构体的定义和实例化 2.1 使用字段初始化简写语法 2.2 使用结构体更新语法从其他实例创建实例 2.3 没有命名字段的元组结构体 2.4 没有任何字段的类单元结构体 2.5 结构体示例程序 3、方法 3.1 关联函数 3.2 多个 impl 块 1、结构体 struct&…

C++二分查找算法:规划兼职工作

题目 你打算利用空闲时间来做兼职工作赚些零花钱。 这里有 n 份兼职工作&#xff0c;每份工作预计从 startTime[i] 开始到 endTime[i] 结束&#xff0c;报酬为 profit[i]。 给你一份兼职工作表&#xff0c;包含开始时间 startTime&#xff0c;结束时间 endTime 和预计报酬 pro…