Java基础之 API 字符串

文章目录

  • API
  • 字符串
    • String
      • 概述
      • 创建对象
    • java的内存模型
    • java的常用方法(比较)
      • 练习

API

概念: APl(Application ProgrammingInterface): 应用程序编程接口
简单理解: API就是别人已经写好的东西,我们不需要自己编写,直接使用即可。
在这里插入图片描述

Java API: 指的就是JDK 中提供的各种功能的java类
这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可

API帮助文档: 帮助开发人员更好的使用API和查询API的一个工具。

在这里插入图片描述

字符串

String

概述

java.lang.String 类代表字符串,Java 程序中的所有字符串文字(例如“abc”)都为此类的对象。

注意点: 字符串的内容是不会发生改变的,它的对象在创建后不能被更改

总结:

1.String是Java定义好的一个类。定义在java.lang 包中
所以使用的时候不需要导包。

2.Java 程序中的所有字符串文字(例如“三连投币”)都被实为此类的对象。

3.字符串不可变,它们的值在创建后不能被更改

创建对象

  1. 直接赋值
    String name = “宫水三叶”;
  2. new + 构造方法
    在这里插入图片描述
package String;public class StringDemo1 {public static void main(String[] args) {//直接赋值的方法获得一个字符串String s1 = "Hello World";System.out.println(s1);//使用new 的方式来获取字符串的对象//空参String s2 = new String();System.out.println("@" + s2 + "!");//传递一个字符串,根据传递的字符串内容再创建一个新的字符串对象String s3 = new String("Hello World");System.out.println(s3);//传递一个字符数组,再根据字符数组的内容创建一个字符串对象//需求:将ABC 改为BBC//ABC ---> {'A','B','C'} ---> {'B','B','C'}char [] chs = {'A','B','C','D','E','F','G','H'};String s4 = new String(chs);System.out.println(s4);//传递一个字节数组,根据字节数组的内容再创建一个字符串对象//应用场景:以后在网络中传输的其实是字节信息//我们一般要把字节信息进行转换,转换成字符串,用到这个构造byte [] bytes = { 97, 98, 99, 100};String s5 = new String(bytes);System.out.println(s5);}
}

java的内存模型

在这里插入图片描述

注意:StringTable(串池)在JDK7版本开始从方法区中挪到了堆内存

在这里插入图片描述
在这里插入图片描述
当使用双引号直接赋值时,系统会检查该字符串在串池中是否存在,不存在:创建新的存在:复用

举例:
在这里插入图片描述
在这里插入图片描述
只要是new出来的新的变量都会在堆内存开辟一个新的位置出来

java的常用方法(比较)

==号比的到底是什么?
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

package String;public class StringDemo2 {public static void main(String[] args) {//创建一个字符串对象String s1 = new String("abc");String s2 =  "Abc";//==号的比较//基本数据类型比较的是数据值//引用数据类型比较的是地址值System.out.println(s1==s2);//比较字符串对象中的内容是否相等boolean result = s1.equals(s2);System.out.println(result);//比较字符串中内容是否相等,忽略大小写//忽略大小写只能忽略英文的大小写boolean result2 = s1.equalsIgnoreCase("abc");System.out.println(result2);}
}

练习

在这里插入图片描述
代码呈现

package String;import java.util.Scanner;public class StringDemo4 {public static void main(String[] args) {//定义两个变量记录正确的用户名和密码String rightUsername = "youzi";String rightPassword = "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 password = sc.next();//比较if (username.equals(rightUsername) && password.equals(rightPassword)) {System.out.println("用户登录成功");break;} else {if (i == 2) {System.out.println("您的账户已被锁定,解锁请联系工作人员");} else {System.out.println("用户登录失败,用户名或密码错误,还剩下" + (2 - i) + "次机会");}}}}
}

运行结果
在这里插入图片描述

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

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

相关文章

马斯克的 xAI 帝国!60亿融资背后的超级布局?

在全球科技竞技场&#xff0c;每个重大融资事件都是对行业格局的一次重塑。近日&#xff0c;埃隆马斯克的人工智能初创企业 xAI 成功完成了一轮规模空前的融资——60亿美元&#xff0c;此举无疑在业界投下了一枚震撼弹&#xff0c;标志着 AI 领域内一场新的竞赛拉开了序幕。 …

QT学习(20):QStyle类

Qt包含一组QStyle子类&#xff0c;这些子类&#xff08;QWindowsStyle&#xff0c;QMacStyle等&#xff09;模拟Qt支持的不同平台的样式&#xff0c;默认情况下&#xff0c;这些样式内置在Qt GUI模块中&#xff0c;样式也可以作为插件提供。 Qt的内置widgets使用QStyle来执行几…

LangChain之链的应用(下)

LangChain之链的应用 Chain链的应用配置LLMChain&#xff1a;简单链create_stuff_documents_chain&#xff1a;文档链create_extraction_chain&#xff1a;提取信息链LLMMathChain&#xff1a;数学链create_sql_query_chain&#xff1a;SQL查询链连接数据库创建并使用链 Sequen…

K210 数字识别 教程

一、烧写固件 连接k210开发板&#xff0c;点开烧录固件工具&#xff0c;选中固件&#xff0c;并下载 二、模型训练 网站&#xff1a;MaixHub 1、上传文件 2、开始标记数据 添加9个标签&#xff0c;命名为1~9&#xff0c;按键盘w开始标记&#xff0c;键盘D可以下一张图片&…

计算机网络(1

网络初识 目录 网络初识一. 网络分类1. 局域网LAN(Local Area Network):2. 广域网WAN(Wide Area Network): 二. 组建网络的基础设备1. 路由器2. 交换机 三. 标识符 协议 (protocol)一. 协议分层1. 分层的好处2. OSI七层分层3. TCP/IP五层模型(或四层) 模型(1. 物理层(可不算)(2…

Windows hook介绍与代码演示

Windows Hook 是一种机制&#xff0c;允许应用程序监视系统或处理特定事件。它可以拦截和更改消息&#xff0c;甚至可以插入到其他应用程序的消息处理机制中。Windows 提供了多种挂钩类型&#xff0c;例如键盘挂钩、鼠标挂钩、消息挂钩等。 hook代码实现 下面是一个使用 Wind…

OS复习笔记ch7-1

存储的基本管理需求 重定位 重定位(Relocation)&#xff1a;需要解决可执行文件中地址&#xff08;指令和数据&#xff09;和内存地址的对应。 一般有两种比较常见的重定位方式&#xff1a; 静态重定位(static relocation)&#xff1a;当程序被装入内存时&#xff0c;一次性…

【头歌】计算机网络DHCP服务器配置第四关配置路由器子接口答案

头歌计算机网络DHCP服务器配置第四关配置路由器子接口操作步骤 任务描述 本关任务&#xff1a;配置路由器的子接口。 操作要求 在第一关的拓扑图的基础上&#xff0c;配置路由器及 PC 机&#xff0c;具体要求如下&#xff1a; 1、打开路由器物理接口 F0/0 &#xff1b; 2、配置…

NSSCTF中的pop、babyupload、cve版本签到、奇妙的MD5、easy_html

目录 [SWPUCTF 2021 新生赛]pop [NISACTF 2022]babyupload ​编辑[GKCTF 2020]cve版签到 [SWP5UCTF 2022 新生赛]奇妙的MD5 [HNCTF 2022 Week1]easy_html 今日总结&#xff1a; [SWPUCTF 2021 新生赛]pop 1.代码审计 <?phperror_reporting(0); show_source("…

装机必备——360压缩安装教程

装机必备——360压缩安装教程 软件下载 软件名称&#xff1a;360压缩 软件语言&#xff1a;简体中文 软件大小&#xff1a;3.38M 系统要求&#xff1a;Windows7或更高&#xff0c; 32/64位操作系统 硬件要求&#xff1a;CPU2GHz &#xff0c;RAM4G或更高 下载通道①迅雷云盘丨…

DINO结构中的exponential moving average (ema)和stop-gradient (sg)

DINO思路介绍 在 DINO 中&#xff0c;教师和学生网络分别预测一个一维的嵌入。为了训练学生模型&#xff0c;我们需要选取一个损失函数&#xff0c;不断地让学生的输出向教师的输出靠近。softmax 结合交叉熵损失函数是一种常用的做法&#xff0c;来让学生模型的输出与教师模型的…

Docker安装Oracle11g数据库

操作系统&#xff1a;centOS9使用此方法检查是否安装Docker&#xff1a;docker --help&#xff0c;如果有帮助文件则证明安装成功使用此语句检查Docker是否正在运行&#xff1a;docker images&#xff0c;实际上是查看本地镜像如果发现未运行则开启Docker&#xff1a;systemctl…

MyCat2之安装与配置文件介绍

安装 1.新建文件夹tools mkdir tools&#xff0c;并进入tools 2.下载MaCat wget http://dl.mycat.org.cn/2.0/install-template/mycat2-install-template-1.21.zip wget http://dl.mycat.org.cn/2.0/1.21-release/mycat2-1.21-release-jar-with-dependencies.jar 3.解压zip u…

怎样打造一份个性化画册呢?我来教你

在这个数字化的时代&#xff0c;传统的照片已经不能满足我们对个性化回忆的需求。个性化画册&#xff0c;不仅能够承载我们的记忆&#xff0c;还能展现自我风格。今天&#xff0c;就让我来教你如何打造一份属于自己的个性化画册。 1.要制作电子杂志,首先需要选择一款适合自己的…

kafka3.6.1版本学习

kafka目录结构 bin linux系统下可执行脚本文件 bin/windows windows系统下可执行脚本文件 config 配置文件 libs 依赖类库 licenses 许可信息 site-docs 文档 logs 服务日志 启动ZooKeeper 进入Kafka解压缩文件夹的config目录&#xff0c;修改zookeeper.properties配置文件 #t…

【吊打面试官系列】Java高并发篇 - Java 死锁以及如何避免?

大家好&#xff0c;我是锋哥。今天分享关于 【Java 死锁以及如何避免&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; Java 死锁以及如何避免&#xff1f; Java 中的死锁是一种编程情况&#xff0c;其中两个或多个线程被永久阻塞&#xff0c;Java 死锁情况出现至…

【每日刷题】Day50

【每日刷题】Day50 &#x1f955;个人主页&#xff1a;开敲&#x1f349; &#x1f525;所属专栏&#xff1a;每日刷题&#x1f34d; &#x1f33c;文章目录&#x1f33c; 1. 654. 最大二叉树 - 力扣&#xff08;LeetCode&#xff09; 2. 119. 杨辉三角 II - 力扣&#xff08…

MATLAB system identification系统辨识app的使用

系统辨识 前言系统辨识第一步 选取时域数据到app第二步 分割数据第三步 设置传递函数的参数第四步 Estimate第五步 结束 前言 接上节&#xff1a;simulink-仿真以及PID参数整定 系统模型的辨识工作&#xff0c;在控制领域&#xff0c;一般用于开发控制器的先手工作。一般而言…

调整图片和表格尺寸的命令:resizebox

\resizebox 是 LaTeX 中的一个命令&#xff0c;用于调整插入的内容&#xff08;如图像、表格、文本等&#xff09;的大小。它的语法如下&#xff1a; \resizebox{<width>}{<height>}{<content>}其中&#xff1a; <width> 和 <height> 分别表示…

IDEA提示Untrusted Server‘s certificate

如果你用的是Intellij系列IDE&#xff08;GoLand, PHPStorm, WebStorm, IDEA&#xff09;&#xff0c;突然弹出个提示『Untrusted Servers certificate 』 莫慌&#xff0c;这是因为你用了破解版的 IDE&#xff0c;破解过程中有个hosts绑定的操作&#xff1a; 0.0.0.0 account.…