首页 > 编程语言 >java API

java API

时间:2024-11-14 19:17:14浏览次数:3  
标签:java String System 字符串 API println out

 API(Application Programming Interface)是指应用程序的编程接口。

  1. 字符串类

Java中定义了3个封装字符串的类,分别是String类、StringBuffer类、StringBuilder类,它们位于Java.lang包中,并提供了一系列操作字符串的方法,这些方法不需要导包就可以直接使用。

1.1 String的初始化

定义一个空的字符串

String str1 = new String();    //名为str1的空字符串

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

String str2 = new String("xyz");        //名为str2的字符串,内容为xyz

创建一个内容为字符数组的字符串

char[] charArray = new char[] {'D','E','F'};
String str3 = new String(charArray);
//创建一个名为charArray的char类型字符数组并将charArray赋值给名称为str3的字符串

创建一个内容为字节数组的字符串

byte[]  arr = {12,16,18};
String str4 = new String (arr);
创建了名称为arr的byte类型的字节数组并将arr赋值给str4

1.2 String类的常见操作

indexOf (int ch)             返回ch在字符串中第一次出现位置的索引

length()        返回此字符串的长度

equals(ch1 an ch2)        将此字符串与指定的字符串比较

contains()        判断此字符串中是否包含指定的字符序列

replace()        替换(123456789————123***789)

substring()        截取

案例1.将手机号中间四位隐藏

String s2 = "12345678910";
System.out.println("将中间四位替换成****:"+s2.replace(s2.substring(s2.length()-8,s2.length()-4),"****"));

案例2.将身份证后四位隐藏

String a = "413422199213455639";
System.out.println("将后四位替换成****:"+a.replace(a.substring(a.length()-4,a.length()),"****"));

1.3 StringBuffer类

由于字符串是常量一旦生成其内容和长度是不可改变的。为了对其进行改变,Java提供了一个StringByffer类,也被称为字符串缓冲区。StringBuffer类和String类最大的区别就是它的内容和长度都是可以改变的,可以在里面任意添加和删除数据。

append()        添加参数到StringBuffer对象中

insert(1哪个位置,2要插入的字符串)        在字符串1的位置插入字符串2

deleteCharAt(序列名)        删除此序列指定位置的字符

delete(1开始,2结束)        删除(从1开始到2结束范围内)指定的字符或序列

replace(1开始,2结束,3要插入的内容)        把从1到2内的字符替换为3要插入的内容

reverse()        将此字符序列勇用其反转形式取代(abc——cba)

1.4 StringBuilder类

StringBuffer类、StringBuilder类

StringBuffer类、StringBuilder类都可以用于对字符串进行修改,它们的对象也都可以被进行多次修改并不会产生新的未使用对象。但是它们的不同之处在于StringBuilder类是JDK5中新加入的类,StringBuilder的方法是非线程安全的,简单来说就是StringBuffer类不能被同步访问 ,而StringBuilder类可以。

获取当前日期

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class c2 {
    public static void main(String[] args) {
        LocalDateTime now = LocalDateTime.now();
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        String formattendDateTime = now.format(formatter);
        System.out.println("获取当前日期:"+formattendDateTime);
    }
}

验证输入手机号格式是否正确

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class c3 {
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        System.out.println("请输入11位手机号:");
        String phone = s.next();
        String regex = "^[13|15|18|14|17|19]\\d{9}$";//
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(phone);
        if (matcher.matches()){
            System.out.println("您输入的手机号是有效的。");
        }else{
            System.out.println("您输入的手机号是无效的!");
        }

判断输入的邮箱格式是否准确

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class c4 {


    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        System.out.println("请输入您的邮箱帐号:");
        String mailbox = s.next();
        String regex = "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$";//
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(mailbox);
        if (matcher.matches()) {
            System.out.println("您输入的邮箱格式正确。");
        } else {
            System.out.println("您输入的邮箱格式是无效的!");
        }

    }
}

模拟用户登录,一共有三次登陆机会,三次都错误显示登陆失败

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        String name="cheng";            //名字cheng
        String password="123456";       //密码123456
        Scanner sc=new Scanner(System.in);
        for (int i = 0; i < 3; i++) {
            System.out.println("请输入用户名:");
            String username = sc.next();
            System.out.println("请输入密码:");
            String userPassword=sc.next();
            if(name.equals(username)&&password.equals(userPassword)){
                System.out.println("登陆成功!");
                break;
            }
            else{
                if(2-i==0){
                    System.out.println("您的登录次数已用完,无法继续登陆!");
                }else{
                    System.out.println("用户名或密码错误,您还剩余"+(2-i)+"次机会");
                }
            }

        }

    }
}

2 Runtime类

Runtime表示虚拟机运行时的状态,它用于封装Java虚拟机进程。

2.1.获取当前虚拟机信息

import java.io.IOException;
import java.time.LocalDate;
import java.util.Random;

public class Main {
    public static void main(String[] args) throws InterruptedException {
        Runtime rt = Runtime.getRuntime();
        System.out.println("处理器的个数:" + rt.availableProcessors() + "个数");
        System.out.println("空闲内存数量:" + rt.freeMemory() / 1024 / 1024 + "M");
        System.out.println("最大可用内存数量:" + rt.maxMemory() / 1024 / 1024 + "M");
        try {
            rt.exec("notepad.exe");
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
}

3 Math类和Random类

3.1 Math类

Math类提供了大量的静态方法以便人们实现数学运算

abs(a)                求a的绝对值

sqrt(a)                求a的方根

ceil(a)                大于等于a的最小整数

floor(a)                小于等于a的最大的整数

round(a)                对小数a四舍五入后a的值

max(a,b...)                返回a和b中较大的值

min(a,b...)                返回a和b中较小的值

random()                随机生成一个(0,1]的值

pow(a,b)                a的b次方,a^b

3.2Random类

Random类是Java.util包中的一个类,它可以在指定范围内生成随机的数字。

Random()                用于构造一个伪随机数生成器(无参,每次生成的都不一样)

import java.util.Random;

public static c1{
    public static void main (String args[]){
        Random r = new Random();
        for(int x = 0;x < 10;x++){
            System.out.println(r.nextInt(100))
        }         
    }
}

4 正则表达式

正则表达式就是指一个用来描述或者匹配一系列符合某种语法规则的字符串的单个字符串,其实就是一种规则。

4.1元字符

元字符功能
\转义字符,例如\n
^正则表达式开头的标志
$正则表达式结束的位置
+匹配一次或多次
\d匹配0~9
[a-zA-Z]匹配a~z和A~Z

例如上边提到的,手机号格式:

String regex = "^[13|15|18|14|17|19]\\d{9}$";

邮箱格式:

String regex = "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$";//

结束~

标签:java,String,System,字符串,API,println,out
From: https://blog.csdn.net/qq_55830662/article/details/143769386

相关文章

  • python+vue基于django/flask新农村综合风貌展示平台java+nodejs+php-计算机毕业设计
    目录技术栈和环境说明具体实现截图预期达到的目标系统设计详细视频演示技术路线解决的思路性能/安全/负载方面可行性分析论证python-flask核心代码部分展示python-django核心代码部分展示研究方法感恩大学老师和同学源码获取技术栈和环境说明本系统以Python开发语言......
  • java的算法-余弦相似度
    背景:做过财务系统的小伙伴们都知道,财务系统会有一个自动计费的算法,这个算法依赖于计费模板,之前的同事呢把计费公式乱写(导致很多重复的公式),虽然计费名称不一样但是计费公式却是一样的,今天就写一个算法来计算公式代码之间的相似度publicstaticvoidmain(String[]args){......
  • java学习记录06
    正则表达式匹配规则对于正则表达式来说,它只能精确匹配字符串。例如:正则表达式“abc",只能匹配”abc",不能匹配“ab","Abc","abcd"等其他字符串。如果想匹配非ASCII字符,例如中文,那么就用\u####的十六进制表示,例如:a\u548cc匹配的是字符串"a和c",中文字符和的Unicode编码是548c......
  • java学习记录05
    Object类通用方法Object类是所有类的超类。如果在类声明中没有使用extends关键字明确指定超类,那么默认的超类就是Object类。这就意味着所有的对象(包括数组)都实现了该类的方法。Object的所有方法native表示这个方法的实现是由其他语言(例如C或C++)编写的,它并不在Java源代码中......
  • 深入理解 Kubernetes 中的 Service、Ingress 和 NginxIngress:如何配置多个域名访问 Ja
    个人名片......
  • 何为RESTful Web API?
    REST(RepresentationalState Transfer)是一种用于构建网络应用程序的架构风格,特别适用于WebAPI。RESTfulWebAPI是基于REST 原则设计的API,允许客户端与服务器之间进行交互。以下是 REST WebAPI的一些关键概念和特点:1.资源(Resources)在REST 中,所有的内容都被视为资......
  • Java方法(四)
    设计方法原则:本意为功能块,是实现某个功能语句块的结合,设计方法时保持原子性(一个方法完成一个功能)publicclassoperator{publicstaticvoidmain(String[]args){intsum=add(1,3);System.out.println(sum);}//加法publicstaticint......
  • java类加载中的双亲委派机制
    ​ 双亲委派机制的优点: 同样的类不会被重复加载。 一、概述:类加载器:类加载器用于加载 .class字节码文件到内存中(并为每个.class字节码文件生成 Class对象)。 二、四种类加载器介绍:​编辑  2.1.启动类加载器(BootstrapClassLoader): 用于加载jdk的核......
  • 代码随想录算法训练营第三十天| 452. 用最少数量的箭引爆气球 、435. 无重叠区间 、76
    452.用最少数量的箭引爆气球思路:以前做过最大不相交子序列的题,这次也是往这根据某一端排序的思路想的,排序后如下图,只需要维护一个公共序列的右边界r就可以了,下一次判断时,只需要判断子区间的左边是否小于r。这个题有点坑的是使用Arrays排序,如果使用昨天的方法:Arra......
  • 【FastAPI】解决下载文件预处理时间较长的问题:FastAPI 实现异步任务处理
    解决下载文件预处理时间较长的问题:FastAPI实现异步任务处理在开发Web应用时,我们经常会遇到需要对文件进行预处理的场景。例如,用户请求下载一个文件之前,需要进行压缩、转换或者数据处理等操作。然而,这些预处理任务往往会花费较长时间,如果我们在后端直接处理这些任务,会导......