常用API(一)

API(全称 Application Programming Interface:应用程序编程接口)

        就是别人写好的一些程序,给我们直接拿去调用即可解决问题的。

什么是包?

  • 包是用来分门别类的管理各种不同程序的,类似于文件夹,建包有利于程序的管理和维护。

在自己程序中调用其他包下的程序的注意事项

  • 如果当前程序中,要调用自己包下的其他程序,可以直接调用。(同一个包下的类,互相可以直接调用
  • 如果当前程序中,要调用其他包下的程序,则必须在当前程序中导包,才可以访问!               导包格式:import 包名.类名
  • 如果当前程序中,要调用Java提供的程序,也需要先导包才可以使用;但是Java.lang包下的程序是不需要我们导包的,可以直接使用
  • 如果当前程序中,要调用多个不同包下的程序,而这些程序名正好一样,此时默认只能导入一个程序,另一个程序必须带包名访问

String

String概述

  • String代表字符串,可以用来创建对象封装字符串数据,并对其进行处理

字符串的处理

1、创建对象        2、封装字符串数据        3、调String的方法

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

  • 方式一:Java程序中的使用字符串文字(例如 “ abc ”)都为此类的对象。
  • 方式二:调用String类的构造器初始化字符串对象。
构造器说明
public String()创建一个空白符字符串对象,不含有任何内容
public String( String original )根据传入的字符串内容,来创建字符串对象
public String( char[ ] chars )根据字符数组的内容,来创建字符串对象
public String( byte[ ] bytes )根据字符数组的内容,来创建字符串内容

String的常用方法

String提供的操作字符串数据的常用方法

方法名说明
public int length()获取字符串长度返回(就是字符个数)
public char charAt(int index)获取某个索引位置处的字符返回
public char [ ] toCharArray()将当前字符串转换成字符数组返回
public boolean equals(Object anObject)判定当前字符串与另一个字符串的内容一样,一样返回true
public boolean equalsIgnoreCase(String anotherString)判定当前字符串与另一个字符串内容是否一样(忽略大小写)
public String substring(int beginIndex,int endIndex)根据开始和结束索引进行截取,得到新的字符串(包前不包后)
public String substring(int beginIndex)从传入的索引处截取,截取到末尾,得到新的字符串返回
public String replace(CharSequence target,CharSequence replacement)使用新值,将字符串中的旧值替换,得到新的字符串
public boolean contains(CharSequence s)判定字符串中是否包含了某个字符串
public boolean startsWith(String prefix)判定字符串是否以某个字符串内容开头,是则返回true,反之返回false
public String[ ] split(String regex)把字符串按照某个字符串内容分割,并返回字符串数组回来

String使用时的注意事项

第一点

  • String对象的内容不可改变,被称为不可变字符串变对象。

String注意事项1:String的对象是不可变字符串对象
  • 注意:只要是以 “...” 方法写出的字符串对象,会在堆内存中的字符串常量池中存储。

结论:每次试图改变字符串对象实际上是产生了新的字符串变量,变量每次都是指向了新的字符串对象,之前字符串对象的内容确实没有改变,因此说String的对象是不可变的。

第二点

  • 只有是以 “...” 方式写出的字符串对象,会存储到字符串常量池,且相同内容的字符串只存储一份;
  • 但通过new创建字符串对象,每new一次都会产生一个新的对象放在堆内存中。

String案例

案例:完成用户登录

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

import java.util.Random;
import java.util.Scanner;

public class StringTest {
    public static void main(String[] args) {
        for (int i = 0; i < 3; i++) {
            //1.开发一个登录界面
            Scanner sc = new Scanner(System.in);
            System.out.println("请您输入登录名称:");
            String loginName = sc.next();
            System.out.println("请您输入密码:");
            String passWord = sc.next();


            //5.开始调用登录方法,判断是否登录成功
            boolean rs = login(loginName,passWord);
            if (rs){
                String codes = createCode(5);
                System.out.println("验证码为:"+ codes);
                System.out.println("请输入验证码:");
                String cod = sc.next();
                if (cod.equals(codes)){
                    System.out.println("登陆成功,欢迎进入系统");
                }else {
                    System.out.println("验证码错误");
                    continue;
                }
                break;
            }else {
                System.out.println("您输入的登录名或密码错误,请您重新确认");
            }
        }
    }


    //2.开发一个登陆方法,接受用户的登录名和密码,返回认证的结果
    public static boolean login(String loginName,String passWord){
        //3.准备一份正确的登录名和密码
        String okLoginName = "zhangsan";
        String okPassWord = "123456";

        //4.判断用户是否登录成功
        if (loginName.equals(okLoginName) && passWord.equals(okPassWord)){
            return true;
        }
        return false;
    }

    public static String createCode(int n){
        Random r = new Random();
        String code = "";
        String data = "abcdefghijklnmopqretuvwxyzABCDEFGHIJKLNMOPQRSTUVWXYZ0123456789";
        for (int i = 0; i < n; i++) {
            int index = r.nextInt(data.length());
            code += data.charAt(index);
        }
        return code;
    }
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python数据分析总结(pandas)

目录 前言 df导入数据 df基本增删改查 数据清洗 ​编辑 索引操作 数据统计 行列操作 ​编辑 df->types 数据格式化 ​编辑 日期数据处理 前言 此篇文章为个人python数据分析学习总结&#xff0c;总结内容大都为表格和结构图方式&#xff0c;仅供参考。 df导入数…

在线教育小程序正在成为教育行业的新生力量

教育数字化转型是目前教育领域的一个热门话题&#xff0c;那么到底什么是教育数字化转型&#xff1f;如何做好教育数字化转型&#xff1f; 教育数字化转型是利用信息技术和数字工具改变和优化教育的过程。主要特征包括技术整合、在线学习、个性化学习、大数据分析、云计算、虚拟…

视频封面提取:精准截图,如何从指定时长中提取某一帧图片

在视频制作和分享过程中&#xff0c;一个有吸引力的封面或截图往往能吸引更多的观众点击观看。有时候要在特定的时间段内从视频中提取一帧作为封面或截图。如果每个视频都手动提取的话就会耗费很长时间&#xff0c;那么如何智化能批量提取呢&#xff1f;现在一起来看下云炫AI智…

VUE2+THREE.JS 按照行动轨迹移动人物模型并相机视角跟随人物

按照行动轨迹移动人物模型并相机视角跟随人物 1. 初始化加载模型2. 开始移动模型3. 人物模型启动4. 暂停模型移动5. 重置模型位置6. 切换区域动画7. 摄像机追踪模型8. 移动模型位置9.动画执行 人物按照上一篇博客所设定的关键点位置&#xff0c;匀速移动 1. 初始化加载模型 //…

选择护眼台灯的标准,符合国家最高标准的护眼台灯推荐

据中国国家卫生健康委员会发布的报告&#xff0c;2020年全国青少年近视率为53.6%&#xff0c;其中&#xff0c;小学生近视率为38.1%&#xff0c;初中生近视率为71.6%&#xff0c;高中生近视率为81.0%。这意味着中国青少年中&#xff0c;大多数人都存在不同程度的近视问题&#…

【Java用法】Lombok中@SneakyThrows注解的使用方法和作用

Lombok中SneakyThrows注解的使用方法和作用 一、SneakyThrows的作用二、SneakyThrows注解原理 一、SneakyThrows的作用 普通Exception类,也就是我们常说的受检异常或者Checked Exception会强制要求抛出它的方法声明throws&#xff0c;调用者必须显示的去处理这个异常。设计的目…

如何使用eXtplorer+cpolar内网穿透搭建个人云存储实现公网访问

文章目录 1. 前言2. eXtplorer网站搭建2.1 eXtplorer下载和安装2.2 eXtplorer网页测试2.3 cpolar的安装和注册 3.本地网页发布3.1.Cpolar云端设置3.2.Cpolar本地设置 4.公网访问测试5.结语 1. 前言 通过互联网传输文件&#xff0c;是互联网最重要的应用之一&#xff0c;无论是…

Mybatis源码解析2:全局配置

Mybatis源码解析2&#xff1a;全局配置 1.项目结构2. 源码分析2.1.SqlSessionFactoryBuilder#build(java.io.InputStream)2.2 XMLConfigBuilder构造器2.3 解析XMLConfigBuilder#parse2.4 解析配置 XMLConfigBuilder#parseConfiguration 1.项目结构 源码地址&#xff1a; 项目结…

MySQL-日期时间函数详解及练习

目录 3.1 返回当前日期 3.2 提取日期部分 3.3 增加或减去时间 3.4 格式化时期或时间 3.5 牛客练习题 3.1 返回当前日期 1. CURDATE() 或 CURRENT_DATE() | 返回当前日期 select curdate();select current_date(); 结果&#xff1a; 2. CURTIME() 或 CURRENT_TIME() | 返…

【PyTorch】 暂退法(dropout)

文章目录 1. 理论介绍2. 实例解析2.1. 实例描述2.2. 代码实现2.2.1. 主要代码2.2.2. 完整代码2.2.3. 输出结果 1. 理论介绍 线性模型泛化的可靠性是有代价的&#xff0c;因为线性模型没有考虑到特征之间的交互作用&#xff0c;由此模型灵活性受限。泛化性和灵活性之间的基本权…

STM32-EXTI外部中断

一、中断系统 中断&#xff1a;在主程序运行过程中&#xff0c;出现了特定的中断触发条件&#xff08;中断源&#xff09;&#xff0c;使得CPU暂停当前正在运行的程序&#xff0c;转而去处理中断程序&#xff0c;处理完成后又返回原来被暂停的位置继续运行 中断优先级&#xff…

2021年第十届数学建模国际赛小美赛B题疾病传播的风险解题全过程文档及程序

2021年第十届数学建模国际赛小美赛 B题 疾病传播的风险 原题再现&#xff1a; 空气传播疾病可以通过咳嗽或打喷嚏、喷洒液体或灰尘传播。另一方面&#xff0c;一些常见的传染病只能通过飞沫传播。请建立一个模型&#xff0c;以评估密闭空间内空气传播和液滴传播疾病的可能性。…

查看电脑cuda版本

1.找到NVODIA控制面板 输入NVIDIA搜索即可 出现NVIDIA控制面板 点击系统信息 2.WINR 输入nvidia-smi 检查了一下&#xff0c;电脑没用过GPU&#xff0c;连驱动都没有 所以&#xff0c;装驱动…… 选版本&#xff0c;下载 下载后双击打开安装 重新输入nvidia-smi 显示如下…

喜讯:加速度商城系统全系列产品品牌全新升级为Shopfa

2月1日讯&#xff1a;经过1年多的品牌文化塑造&#xff0c;深圳市加速度软件开发有限公司经过研究决定&#xff0c;将旗下的多商户商城系列、小程序商城系列、B2B商城系列、供应商集采系列、电子元器件商城系列、跨境独立站商城系列、MRO工业品商城系列、外卖商城系列、智慧零售…

C++笔记:动态内存管理

文章目录 语言层面的内存划分C语言动态内存管理的缺陷new 和 delete 的使用了解语法new 和 delete 操作内置类型new 和 delete 操作自定义类型 new 和 delete 的细节探究new 和 delete 的底层探究operator new 和 operator new[]operator delete 和 operator delete[] 显式调用…

体验官分享 | 用户眼中的OK3588-C开发板究竟有多优秀?

编者荐语&#xff1a;飞凌嵌入式今年共发起了5期【产品体验官】活动&#xff0c;让更多热爱嵌入式的朋友免费体验到了自己感兴趣的产品&#xff0c;飞凌嵌入式也收获了很多宝贵的建议。活动期间体验官们创作了许多优质的体验报告&#xff0c;今天小编就与大家分享一篇来自体验官…

Django讲课笔记01:初探Django框架

文章目录 一、学习目标二、课程导入&#xff08;一&#xff09;课程简介&#xff08;二&#xff09;课程目标&#xff08;三&#xff09;适用人群&#xff08;四&#xff09;教学方式&#xff08;五&#xff09;评估方式&#xff08;六&#xff09;参考教材 三、新课讲授&#…

SAP UI5 walkthrough step2 Bootstrap

我的理解&#xff0c;这就是一个引导指令 1.我们右键打开命令行--执行 ui5 use OpenUI5 2.执行命令&#xff1a;ui5 add sap.ui.core sap.m themelib_sap_horizon 执行完之后&#xff0c;会更新 yaml 文件 3.修改index.html <!DOCTYPE html> <html> <head&…

Java安全之Commons Collections6分析

CC6分析 import org.apache.commons.collections.*; import org.apache.commons.collections.functors.ChainedTransformer; import org.apache.commons.collections.functors.ConstantTransformer; import org.apache.commons.collections.functors.InvokerTransformer; impo…

[⑧ADRV902x]: Digital Pre-Distortion (DPD)学习笔记

前言 DPD 数字预失真技术&#xff0c;是一种用于抑制功率放大器非线性失真的方法。 它通过在信号输入功率放大器&#xff08;PA&#xff09;之前插入一个预失真模块&#xff0c;对输入信号进行适当的调制&#xff0c;以抵消功率放大器引起的非线性失真&#xff0c;使功率放大器…