java常用应用程序编程接口(API)——String概述及使用案例

news2024/9/19 14:40:20

前言:

开始学到api的String,整理下心得。打好基础,daydayup!

API:

API是什么?

API(Application Programming Interface)又名应用程序编程接口。是别人编好的程序的合集。

为什么要使用API?

因为可以直接拿去调用解决问题。开发效率高。

API中都有哪些程序可以使用?

java有api使用手册(但是是英文的),需要jdk17的中文api文档的可以点击这里—— jdk17API中文手册

 如何在java中使用API?

程序都放在包(package)里,需要到包里去调用。

java中如何导包?

有几种情况

1当前程序中,要调用自己所在包下的其他程序,可以直接调用。(同一个包下的类,互相可以直接调用 

2当前程序中,要调用其他包下的程序,则必须在当前程序中导包, 才可以访问。导包格式:

​​​​​​​import 包名.类名;

 例:如下图

 

3当前程序中,要调用java提供的程序,也需要先导包才可以使用;但是Java.lang包下的程序是不需要我们导包的,可以直接使用。

4当前程序中,要调用多个不同包下的程序,而这些程序名正好一样,此时默认只能导入一个程序,另一个程序必须带包名访问。

例:day11,day12里都有一个Car程序,在当前程序引入day12的包以后,可以直接写Car命令使用day12的Car命令。但如果想使用day11的Car命令,则必须带包名使用。

String语句

什么是String?

String是一种常用API,属于java.lang包下,代表字符串对象,可以用来封装字符串数据,并提供了很多操作字符串的方法。

 String使用场景有哪些?

除了赋值字符串以外,还可用于账号登陆匹配,屏蔽不规范文字,信息关键字检索等多个场合。

 String类创建对象封装字符串数据的方式?

1,直接使用双引号赋值
String a = "llll"
2,调用构造器初始化字符串对象
String a = new String("lll")

String的常用方法

1,获取字符串的长度
格式:public int length​()
例:
 String q = "yojimbo";
        System.out.println(q.length());
2,提取字符串中某个索引位置的字符
格式:public char charAt​(int index)
例:
String q = "yojimbo"; 
char q1 = q.charAt(1);
        System.out.println(q1);
 3,把字符串转换成数组,再进行遍历
格式:public char[] toCharArray​():
例:
String q = "yojimbo";
char [] q3 = q.toCharArray();
        for (int i = 0; i < q3.length; i++) {
            System.out.print(q3[i]+" ");

        }
        System.out.println("");
4,判断字符串内容,如果相同输出true
格式:public boolean equals(Object anObject) 
例:
 String e = new String("lol");
        String e1 = new String("lol");
        System.out.println(e == e1);//false
        //虽然内容相同,但是地址不同,所以输出false
         System.out.println(e.equals(e1));//true
         //所以比较内容要用这种方式
5,忽略大小写比较字符串内容
格式:public boolean equalsIgnoreCase(String anotherString)
例:
 String r = "qwer";
        String r1 = "QWER";
        System.out.println(r.equalsIgnoreCase(r1));//true
 6,截取字符串内容(包前不包后)
格式:public String substring(int beginIndex, int endIndex) 
例:
String t = "yojimbo就是我";
        String t1 = t.substring(0,7);
        System.out.println(t1);
        //可输出yojimbo
7,从当前索引位置一直截取到字符末尾
格式:public String substring(int beginIndex) 
例:
String t2 = t.substring(7);
        System.out.println(t2);
//可输出“就是我”
 8,把字符串中的某个内容替换成新的内容,并返回新的字符串
格式:public String replace(CharSequence target, CharSequence replacement) 
例:
String y = "你是一个大笨蛋";
        String y1 = y.replace("笨蛋","天才");
        System.out.println(y1);
9,判断字符串中是否包含某个关键字
格式:public boolean contains(CharSequence s)
例:
String u = "我是大天才";
        System.out.println(u.contains("天才"));
//查看是否包含天才
10,判断字符串是否以某个字符串开头
格式:public boolean startsWith(String prefix)
例:
 String i = "yojimbo";
        System.out.println(i.startsWith("yo"));
//查看是否以yo开头
 11,把字符串按照某个指定内容分割成多个字符串,放到一个字符串数组中返回来
格式:public String[] split(String regex) 
例:
String o = "luck;kuku;shuai;tiancai";
        String [] o1 =o.split(";");
        System.out.println(o1);
        for (int j = 0; j < o1.length; j++) {
            System.out.print(o1[j]+" ");
        }
        System.out.println("");
//把数据拆分成luck kuku shuai tiancai,4个单独的数据

 案例:

1,完成用户登陆

需求:系统正确的登录名和密码是:yojimbo/123456,请在控制台开发一个登录界面,接收用户输入的登录名和密码,判断用户是否登录成功,登录成功后展示:“欢迎进入系统!”,即可停止程序(注意:要求最多给用户三次登录机会)

实验思路:1,可以输入用户名及密码(Scanner);2,可以对比正确号码(equals);3,只能输错3次密码(for<3)

public class StringDemo3 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        for (int i = 0;i < 3;i ++) {
            System.out.println("请输入用户名");
            String n= sc.next();
            System.out.println("请输入密码");
            String p = sc.next();

            boolean a =login(n,p);
            if (a){
                System.out.println("登陆成功");
                break;
            }else{
                System.out.println("登陆失败,请重新登陆");
            }
        }

    }
    public static boolean login(String name, String password){
        String okname = "yojimbo";
        String okpassword = "123456";
        return (name.equals(okname)&& password.equals(okpassword));

    }
}

实验结果:实验成功

2,随机生成验证码

需求:实现随机产生验证码,验证码的每位可能是数字、大写字母、小写字母。

实验思路:1,可随机生成几位验证码;2,随机输出数字,字母;

public class StringDemo4 {
    public static void main(String[] args) {
        System.out.println(code(8));
    }
    public static String code(int n){
        String q ="";
        String q1 ="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
        Random r = new Random();
        for (int i = 0; i < n; i++) {
            int  imp= r.nextInt(q1.length());
            q += q1.charAt(imp);
        }
        return q;
    }
}

实验结果:实验成功

总结结束,撒花!!!!!

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

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

相关文章

计算机基础面试题 |17.精选计算机基础面试题

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

详解Java中的serialVersionUID概念以及作用(附上Demo)

目录 前言1. 概念2. Demo 前言 原本实现Serializable接口的时候一直都没有serialVersionUID属性&#xff0c;直到看到涉及MybatisPlus新项目中都有该属性&#xff0c;于是做了一期学习了解&#xff0c;最后发现该属性类似深度学习训练中的种子seed&#xff0c;类似版本控制&am…

RuntimeError: CUDA error: invalid device ordinal解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

Vue.js设计与实现阅读2

Vue.js设计与实现阅读-2 1、前言2、框架设计的核心要素2、1 提升用户体验2、2 控制代码体积2、3 Tree-Shaking2、4 特性开关2、5 错误处理 1、前言 上一篇我们了解到了 命令式和声明式的区别&#xff0c;前者关注过程&#xff0c;后者关注结果了解了虚拟dom存在的意义&#x…

[C#]winform部署yolov5-onnx模型

【官方框架地址】 https://github.com/ultralytics/yolov5 【算法介绍】 Yolov5&#xff0c;全称为You Only Look Once version 5&#xff0c;是计算机视觉领域目标检测算法的一个里程碑式模型。该模型由ultralytics团队开发&#xff0c;并因其简洁高效的特点而备受关注。Yol…

异常处理:全面覆盖与精细化管理的平衡

异常处理&#xff1a;全面覆盖与精细化管理的平衡 在软件开发中&#xff0c;异常处理是保证系统稳定性和用户体验的重要环节。对于是否应当全面覆盖所有异常并设立兜底机制&#xff0c;业界存在着两种主流思路&#xff1a;全面覆盖原则和精细化处理。如何在这两者间取得平衡&a…

嵌入式Qt-动手编写并运行自己的第1个ARM-Qt程序

介绍了如何搭建在Linux开发板中搭建Qt的运行环境&#xff0c;并测试了Qt自带的例程。 本篇&#xff0c;来介绍如何自己编写一个Qt程序&#xff0c;并将编译结果放到Linux开发板中运行。 1 Windows上编写Qt程序 因为Qt是支持跨平台的&#xff0c;所以我们可以先在Windows平台…

一天一个设计模式---单例模式

概念 单例模式是一种创建型设计模式&#xff0c;其主要目的是确保一个类只有一个实例&#xff0c;并提供一个全局访问点。这意味着在应用程序中的任何地方&#xff0c;只能有一个实例存在&#xff0c;而不会创建多个相同类型的实例。 具体内容 单例模式通常包括以下几个要素…

深度学习:图神经网络——在推荐系统中的应用

PinSage是工业界应用图神经网络完成推荐任务的第一个成功案例&#xff0c;其从用户数据中构造图&#xff08;graph&#xff09;的方法和应对大规模图而采取的实现技巧都值得我们学习。PinSage被应用在图片推荐类Pinterest上。在Pinterest中&#xff0c;每个用户可以创建并命名图…

工程管理系统功能设计与实践:实现高效、透明的工程管理

在现代化的工程项目管理中&#xff0c;一套功能全面、操作便捷的系统至关重要。本文将介绍一个基于Spring Cloud和Spring Boot技术的Java版工程项目管理系统&#xff0c;结合Vue和ElementUI实现前后端分离。该系统涵盖了项目管理、合同管理、预警管理、竣工管理、质量管理等多个…

深入了解网络流量清洗--使用免费的雷池社区版进行防护

​ 随着网络攻击日益复杂&#xff0c;企业面临的网络安全挑战也在不断增加。在这个背景下&#xff0c;网络流量清洗成为了确保企业网络安全的关键技术。本文将探讨雷池社区版如何通过网络流量清洗技术&#xff0c;帮助企业有效应对网络威胁。 ![] 网络流量清洗的重要性&#x…

Wpf 使用 Prism 实战开发Day08

备忘录页面设计 1.效果图 一.布局设计跟第7章节一样&#xff0c;只是内容方面发生变化&#xff0c;其他样式都一样。直接把代码粘出来了 MemoView.xaml 页面代码 <UserControl x:Class"MyToDo.Views.MemoView"xmlns"http://schemas.microsoft.com/winfx/2…

jQuery页面整屏滚动

效果展示 jQuery页面整屏滚动 Html代码块 <div id"fullpage" class"fullpage-index"><!-- index01 --><div class"indexitem index01 section" id"#page1"><img src"img/img01.jpg"/></div>…

设计模式——工厂方法模式(Factory Method Pattern)

简单工厂模式 概述 说工厂方法模式之前&#xff0c;先说下简单工厂模式&#xff0c;简单工厂模式并不属于GoF 23个经典设计模式&#xff0c;但通常将它作为学习其他工厂模式的基础&#xff0c;它的设计思想很简单&#xff0c;其基本流程如下&#xff1a;首先将需要创建的各种不…

NODE笔记 0

一些简单的node学习笔记记录&#xff0c;是Vue等前端框架的基础 入门学习备忘录 文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 前言 node.js 内置网络服务器&#xff0c;是前端框架学习的基础&#xff1a; 概念&#xff1a;…

大模型机器人发展史:从VoxPoser、RT2到斯坦福Mobile ALOHA、Google机器人

前言 23年7月&#xff0c;我在朋友圈评估Google的RT2说道&#xff1a; “大模型正在革新一切领域啊&#xff0c;超帅&#xff0c;通过大模型不仅能理解“人话”&#xff0c;还能对“人话”进行推理&#xff0c;并转变为机器人能理解的指令&#xff0c;从而分阶段完成任务。回…

Web前端-jQuery

文章目录 jQuery1.1 jQuery 介绍1.1.1 JavaScript 库1.1.2 jQuery的概念1.1.3 jQuery的优点 1.2 jQuery 的基本使用1.2.1 jQuery 的下载1.2.2 jQuery快速入门1.2.3 jQuery入口函数1.2.4 jQuery中的顶级对象$1.2.5 jQuery 对象和 DOM 对象1.2.6. jQuery 对象和 DOM 对象转换 1.3…

二叉树OJ练习(二)

1. 二叉树的最近公共祖先 题目描述&#xff1a; ​ 题解: 1.p或者q其中一个等于root&#xff0c;那么root就是最进公共祖先 2.p和q分布在root的左右两侧&#xff0c;那么root就是最进公共祖先 3.p和q在root的同一侧&#xff0c;就是要遍历这棵树&#xff0c;遇到p或者q返回 ​…

数据结构—图(下)

文章目录 12.图(下)(4).生成树和最小生成树#1.什么是生成树和最小生成树&#xff1f;i.生成树ii.最小生成树 #2.Prim算法i.算法思想ii.看看例子iii.代码实现 #3.Kruskal算法i.算法思想ii.看看例子iii.代码实现 #4.次小生成树 (5).最短路径问题#1.加权有向图的最短路径问题#2.单…

(Matlab)基于CNN-Bi_LSTM的多维时序回归预测(卷积神经网络-双向长短期记忆网络)

目录 一、程序及算法内容介绍&#xff1a; 基本内容&#xff1a; 亮点与优势&#xff1a; 二、实际运行效果&#xff1a; 三、部分代码展示&#xff1a; 四、完整代码数据下载&#xff1a; 一、程序及算法内容介绍&#xff1a; 基本内容&#xff1a; 本代码基于Matlab平…