初学Java---Java SE-Java API(使用String类及其方法)

自己动手写一个查询cet成绩的API 这两天闲来无事,学习了一些关于php的curl相关的内容,并利用curl和simple_html_dom做了一个查询cet成绩的API,在这了分享出来。    我利用的是学信网的查询地址。http://www.chsi.com.cn/cet/,可以看到,我们需要根据准考证号和姓名来进行查询,幸运的是,它不需要用验证码,但不知道它的后台是用post还是get方式来接受,所以,先输入一个数据查询 阅读详情

第三部分Java SE-Java应用


第1单元 Java API应用部分学习笔记


Part1 下载、查阅API

一、什么是API?

  • 全称:应用编程接口-Application Programming Interface;
  • 应用指的是:软件
  • 编程接口:我们写的或第三方的类或接口(属性、方法)
  • 通俗理解:类库、库函数,事先写好的,供其他人使用(例如:C语言库函数、MFC类库、Java类库、Python模块等);Java语言自带有很多API,官网下载API文档。

二、API的分类?

1.JDK带的
2.第三方的 Apache
3.我们公司提供的

三、微服务 ***

  • 给我公开接口,我来调用。

  • 1.微:小

  • 2.服务:一个功能或一个系统

  • 3.微服务:小型系统或功能

  • 例如:短信验证码。教务系统中有发送短信验证码的需求,有两种方案:
  • 1.我们在开发教务系统过程中同时开发短信的功能
  • 2.我只开发教务系统的功能,我调用别人写好的发短信的系统;发短信的系统就是服务。他给我API和使用说明,我来调用。
  • 我们调用别人的接口就行,接口就是指的API。

四、微服务的相关技术

技术1:Spring Boot
技术2:Spring Cloud
  • 例如:我开发的教务系统包括:教务管理、学历验证、支付、短信验证码、学生户籍信息。每一个服务调用一个接口,每一个都是不一样的。
  • 1.教务管理:开发人员根据需求开发
  • 2.学历验证:调用【学信网】的接口
  • 3.支付:调用【微信支付】的接口
  • 4.短信验证码:调用【网易】的接口
  • 5.学生户籍验证:调用【公安户籍管理】的接口

Part2 使用String类及其方法

一、面试题:

(1).列举几个常用的被final修饰的类:
  • String、Math、System、Integer等
(2).提示:String不是关键字,不是Java的内置类型;String类在java.lang包中,不需导入即可使用,而是API中的一个类,属于引用类型。
  • int String = 90;// 正确。

二、String类的使用

  • 开发+面试
  • String类在开发中使用频率极高,要熟练使用其常用的方法。使用时查看API文档里的说明。
1.任务1:将一个字符数组转成字符串输出
	public String toStr(char[] x1) {
		String str = new String(x1);
		return str;
	}
  • 使用到的API:
  • String(char[] value):分配一个新的 String ,以便它表示当前包含在字符数组参数中的字符序列。
	public void toNewCharset(String x1) {
		String str;
		try {
			str = new String(x1.getBytes("ISO-8859-1"), "utf-8");
			System.out.println(str);
		} catch (UnsupportedEncodingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
  • 使用到的API:
  • getBytes(Charset charset):使用给定的charset将该String编码为字节序列,将结果存储到新的字节数组中。
  • String(byte[] bytes, Charset charset):构造一个新的String由指定用指定的字节的数组解码charset 。
  • 上述代码常常用来解决中文乱码的问题。
2.任务2:将一个字符串转成字符数组输出
  • 使用API:
  • char [] toCharArray():将此字符串转换为新的字符数组。
String name = "太原科技大学计算机系";
char n [] = name.toCharArray();
for (char x : n) {
	System.out.println(x);
}
3.任务3:输入身份证号,判断最后一位是不是x
  • 使用的API:
  • endsWith(String str):测试此字符串是否以指定的后缀结尾。
public class Task3 {
	public boolean checkID(String id) {
		return id.endsWith("X");
	}
	public static void main(String[] args) {
		Task3 task3 = new Task3();
		Scanner scanner = new Scanner(System.in);
		System.out.println("请您输入身份证号:");
		String id = scanner.next();
		if (task3.checkID(id)) {
			System.out.println("该身份证号是X结尾。");
		} else {
			System.out.println("该身份证号不是X结尾。");
		}
	}
}
4.任务4:输入用户名和密码,密码必须是6位,输出登录是否成功
  • (1)int length();//获得字符串长度;一个汉字长度就是1,一个汉字是一个字符。
  • (2)boolean equals(String str);//区分大小写
  • (3)boolean equalsIgnoreCase(String str);// 用在验证码上,不区分大小写
  • (4)String trim();//返回一个字符串,其值为此字符串,并删除任何前导和尾随空格。
public class Task4 {
	public String login(String uname,String upsw) {
		String tip = "";
		if (upsw.length() != 6) {
			System.out.println("密码必须是6位!"); 
			tip = "密码长度不正确";
		}
		//.trim可以去掉字符串首位的空格
		if (uname.trim().equalsIgnoreCase("scott") && upsw.equals("tiger1")) {
			tip = "登录成功";
		} else {
			tip = "登录失败!";
		}
		return tip;
	}
	public static void main(String[] args) {
		Task4 task4 = new Task4();
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入用户名:");
		String uname = scanner.nextLine();
		System.out.println("请输入密码:");
		String upsw = scanner.nextLine();
		System.out.println(task4.login(uname, upsw));
	}
}
5.任务5:输入一个小数,判断该小数是否合法
  • indexOf(); //返回指定字符第一次出现的字符串内的索引.当没有查到相关索引的时候,返回-1.
  • lastIndexOf();//返回指定字符的最后一次出现的字符串中的索引。
public class Task5 {
	public boolean check(String number) {
		if (number.indexOf(".") == number.lastIndexOf(".")) {
			return true;
		} else {
			return false;
		}
	}
	public static void main(String[] args) {
		Task5 task5 = new Task5();
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入一个小数:");
		String number = scanner.next();
		System.out.println(task5.check(number));
	}
}
6.任务6: 输入学号,输出该生入学年份
  • substring(2,4); // 取的个数是 4 -2 = 2个
  • substring(3); // 从索引3开始,取到结束
  • substring(1,1);// “” 长度是0
  • “” 与 null 是不同的
public String getYear(String sid) {
		String str = sid.substring(0,4);//索引从0开始,取4个
		//从索引5开始截取到结尾
		//String newStr = sid.substring(5);
		//String str2 = sid.substring(1,1);//""
		//sid.substring(4,2); //错误
		String result = "";
		//result.equals("");//正确
		String grade = null;
		//grade.equals("");//空指针异常:程序执行起来才出现,原因:空对象调用方法。
		return str;
	}
7.任务7:输入教室占用状态,输出第3节是否有课
  • split(String regex); //将字符串拆分。将字符串,拆分成字符串数组。。
  • StringTokenizer // 用任何都可以分割
//把state用逗号切开赋值给字符串数组  //1,0,1,0,1;
String [] stateArray = state.split(","); 
if (stateArray[2].equals("1")) {
	return "有课";
} else {
	return "没课";
}
8.任务8:将字符串中的ab换成123
  • replace(char oldChar, char newChar):返回从替换所有出现的导致一个字符串 oldChar在此字符串 newChar。
  • replaceAll(String regex, String replacement):用给定的替换替换与给定的 regular expression匹配的此字符串的每个子字符串。
String str = "Chinaabtitabcsab23ab";
System.out.println(str.replaceAll("ab", "123"));
9.任务9: 将身份号最后一位取出来
  • charAt(int index):取出当前的索引号指出的字符。
String id = "142230199011092058";
System.out.println(id.charAt(17));
10.任务10:将身份证号中的生日换成*******************
System.out.println(id.substring(0,6) + "********" + id.substring(14));
//正则表达式
System.out.println(id.replaceAll("(\\d{6})\\d{8}(\\w{4})","$1********$2"));
11.判断字符中是否包含深圳
  • 使用的API:contains()
String address = "广东省深圳市30220";
System.out.println(address.contains("深圳"));
12.其他方法:
  • concat()
  • startsWith()
  • toLowerCase()
  • toUpperCase()
  • format()

Java API及String类 在实际应用中,如果需要进行大量的字符串拼接操作,尤其是在单线程环境中,使用StringBuilder是一个很好的选择。然而,在多线程环境中,为了保证数据的一致性,应该使用StringBuffer或者采取适当的同步措施。Java API包含了一系列的类和方法,它们按照功能被组织在不同的包(package)中。1.键盘录入一个字符串,统计该字符串中大写字母字符,小写字母字符,数字字符出现的次数(不考虑其他字符)键盘录入一个字符串,调用该方法后,在控制台输出结果。例如,键盘录入 abc,输出结果 cba。 阅读详情

相关推荐

Java知识总结--SE篇

1-1-什么是Java的跨平台原理 Java通过不同的系统,不同的版本不同的位数的Java虚拟机(JVM)来屏蔽不同的指令集,然后对外提供了统一的Java接口(API),这样,我们的开发者只需按照接口开发即可,如果系统需要部署在不同的环境是,只需要系统上面按照片对应版本的虚拟机即可 1.2-Java基本数据类型 1.3-Java基本类型所占字节和范围 1.3-int(long) 和 float(double) 哪个表示的范围大?为什么? float表示的 范...

黄文孝同学的博客 4478

全国大学高校基础信息 API 接口

全国大学高校基础信息 API 接口提供全国大学高校基础信息。

2301_82249201的博客 2488

用c语言描述将两个字符串连在一起且按升序排列

用c语言描述将两个字符串连在一起且按升序排列 #include #include #define P printf int n; char * x(char *p1,char *p2) { char temple,temple2; int i,j,k,e,d,f; /* char a[]={"aegikl"}; char b[]={"bcdfhn"}; */ for(i=0;*(p1+i)!='\0';i++) { k=i; for(j=0;*(p2+j)!='\0';j++) { if(*(p1+k)>*(p2+j)) { temple=*(p1+k); *(p1+k)=*(p2+j); *(p2+j)=temple; } else continue; } } n=i; for(e=0;*(p2+e)!='\0';e++) { d=e; for(j=d+1;*(p2+j)!='\0';j++) if(*(p2+d)>*(p2+j)) d=j; if(d!=e) { temple2=*(p2+e);*(p2+e)=*(p2+d);*(p2+d)=temple2;} } for(f=0;*(p2+f)!='\0';f++,n++) *(p1+n)=*(p2+f) ; *(p1+n)='\0'; return(p1); } main() {char a[80]={"aegikl"}; char b[]={"bcdfhn"}; char *(*p)(char *p1,char *p2) ,*j; p=x; j =(*p)(a,b); puts(j); P("\n"); }

2021-03-25

大厂面试题——有一个字符串String abc = “342567891”,请写程序将字符串abc进行升序,可以使用JDK API中的现有的功能方法。 public class Test2 { @Test public void test(){ String abc = "342567891"; //转换成achar[]数组 char[] c = abc.toCharArray(); //调用方法快速排序 Arr

小蚂蚁的博客 362

<202505高项>《【VIP合集】 软考高项(第四版)十大知识域、五大过程组、ITTO输入输出工具、项目绩效域》

软考高项(第四版)十大知识域、五大过程组、ITTO输入输出工具、项目绩效域

Else 的博客 1850

PySide6 vs PyQt6:新手如何根据Python版本选择GUI库?附版本兼容性测试

本文针对Python GUI开发新手,详细对比了PySide6与PyQt6的核心差异,并提供了基于Python 3.8至3.12等不同版本的兼容性实测数据与选择建议。文章重点分析了版本选择策略,帮助开发者根据自身Python环境、项目需求(如与matplotlib集成)及许可证考量,做出最合适的决策,并附有安装验证与避坑指南。

weixin_29094539的博客 702

学历信息查询API接口调用代码流程:接入方法以及应用场景

本文详细介绍了“学历信息查询”API的调用方法及应用场景,包括企业招聘、背景调查等需要验证学历真实性的领域。文档提供了完整的API调用流程,通过POST请求加密传输姓名和身份证号数据,支持cURL和Python示例代码,并解析了响应数据的解密过程。API采用AES-128-CBC加密和Base64编码保障数据安全,返回结果包含学历验证信息,帮助开发者集成学历核验功能用于风险管理和数据分析。

2501_94042197的博客 1184

HyperMesh二次开发实战:自动化Comp与材料属性批量绑定

本文详细介绍了HyperMesh二次开发中自动化Comp与材料属性批量绑定的实战技巧。通过TCL脚本实现批量创建属性卡、智能材料分配和异常处理,大幅提升前处理效率,适用于汽车、航空航天等领域的复杂模型处理。

weixin_29214691的博客 688

代码实现学历自动认证,App自动获取学历详细信息

学信网没有开放公共的学历认证api,那App要实现学历的自动认证改怎么做呢?下面就详细介绍App通过代码实现学习自动完成,用户输入证书编号,可以获取学历的详细信息,包括学校名称、学历(专科/本科/硕士)、学习形式(全日制/非全日制)、专业等。

ideaout技术团队 3736

告别Link180!在Ansys Mechanical 2020R2中正确启用Cable280绳索单元(附Beta选项开启指南)

本文详细介绍了在Ansys Mechanical 2020R2中启用Cable280绳索单元的全过程,包括Beta选项的开启步骤、建模技巧及高阶应用。Cable280作为专为绳索仿真设计的单元,相比传统的Link180单元,在大变形模拟和计算效率上表现更优,特别适合斜拉桥、电梯牵引绳等工程场景。

weixin_33711647的博客 405

LabVIEW电压信号采集系统:从零搭建到科研实战

本文详细介绍了如何从零开始搭建一个基于LabVIEW的电压信号采集系统。内容涵盖硬件选型(如NI USB-6002数据采集卡)、软件环境配置、核心程序开发(包括多通道同步采集、数据自动保存)以及高级功能优化。系统支持自定义采样率与时长,并提供了完整的LabVIEW程序框图和配套的Python数据分析脚本,旨在帮助科研人员和工程师快速构建稳定、高效的专属数据采集方案,提升实验自动化水平。

gold8的专栏 460

Java SE笔记

Java笔记Java下载和安装Java语言跨平台原理JRE和JDK的关系常用DOS命令关键字和标识符类型转换构造器 Java下载和安装 我的jdk版本:14.0.2 环境变量配置: 系统变量名为“JAVA_HOME”,而变量值是装jdk时的路径 用户变量Path, %JAVA_HOME%\bin 我看的Eclipse安装教程 Java语言跨平台原理 JRE和JDK的关系 常用DOS命令 关键字和标识符 类型转换 构造器 ...

qq_43477666的博客 965

[数字电路]用与非门实现BCD译码器驱动数码管

Hello,大家好。这里是xdd_core,好久不见。今天来和大家聊聊大一数字电路课程的一个课设。# Key word:BCD Decoder,Proteus8.x,NAND Gate,Digital Circuit# 流程:Proteus8.x仿真电路并绘制PCB导出Gerber文件打样,最终实物验证。# 以下为我对这个课设的report(里面对整个设计做了详细介绍,并设计了完整的验证电路) 感谢观看,仅供参考,未经作者允许,禁止转载/抄袭,本文已上传至数据库,查重必挂QAQ BCD to 7-Segme

xddcore的博客 6012

Java SE 讨论String类

本文主要介绍了Java中String类的基本用法和常见操作。String类提供多种构造方法,支持字符串比较、查找、转换、替换、拆分和截取等操作,但字符串具有不可变性,任何修改都会创建新对象。为提高效率,可使用StringBuilder和StringBuffer类进行可变字符串操作,其中StringBuilder线程不安全但效率更高,StringBuffer线程安全但效率较低。文章还比较了三者的主要区别,并提供了相关方法的代码示例。

2301_80037974的博客 971

8.9华为OD机试真题 新系统 - 灯带颜色变换 (Java/Py/C/C++/Js/Go)

8.9华为OD机试真题 新系统 - 灯带颜色变换 (Java/Py/C/C++/Js/Go)

算法大师! 663

Windows 11 WSL2环境下OpenClaw部署的兼容性问题分析与解决方案研究

本文研究了OpenClaw在Windows 11 WSL2环境下的部署方案。WSL2通过无缝集成Linux与Windows系统,为OpenClaw提供了良好的运行环境,支持GPU加速和跨平台开发。文章详细分析了硬件配置要求(推荐8核CPU/16GB内存/NVMe SSD)、系统选择(Windows 11 Pro+Ubuntu 22.04)以及部署步骤,包括WSL2启用、Linux发行版安装、Python/Node.js/Redis等依赖配置。通过优化.wslconfig文件参数(如内存分

博客 2278

【愚公系列】Java教学课程 026-API文档和String类详解

API(Application Programming Interface)是指应用程序编程接口,是一个定义了软件系统如何与其他系统进行交互的接口。API可以用于不同系统之间的数据传递、功能调用、操作执行等,使不同系统之间的数据交换和互联更容易实现。API通常包含有关如何使用系统的结构、协议、规则和端口等信息。常见的API包括网络API、操作系统API、图形API、数据库API等。在Java中,String是一个类,它表示一个字符串对象。

愚公智库 3万+

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Java API 基础

Java API 基础 一、相关知识学习   Java程序员在开发Java程序时,只需要安装有JDK,就可以在程序中使用import关键字导入Java API 中指定的包并在自己的程序中使用这些包中定义的各种类和接口。 1、 Java API 包 Java API 包 说明 java.accessibility 接口组件和助手技术的类和接口 java.applet Java A...

杨丙的博客 1万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

API、String类和StringBuilder类

API (Application Programming Interface) :应用程序编程接口其实就是 JDK 中提供的各种功能的 Java类,这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可,我们可以通过帮助文档来学习这些API如何使用。通常我们可以借助jdk帮助文档来查询到我们所需的类。比如,我们可以在搜索栏输入Math关键词来查询到Math类的作用,以及它包含的方法。往下翻就能找到Math包含的方法,比如abs。

2201_75308743的博客 851

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

【Java SE】String 类

String 类超全整理:常用方法、不可变性、常量池、StringBuilder

453

JAVA——常用API的使用

Java中的常用API,Scanner类,Random类,ArrayList类,String类,static关键字,Arrays类,Math类,Object类,日期时间类,System类,StringBuilder类,包装类。

章鱼丸子吖的博客 2050

制作类,api的使用,ArrayList类,Arrays,String类,math类

一,制作类 1,类的制作 JavaBean(JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器) 是 Java语言编写类的一种标准规范。符合 JavaBean 的类,要求类必须是具体的和公共的,并且具有无参数的构造方法,提供用来操作成员变量的 set和 get方法。 2,格式 public class ClassName{ //成员变量 //构造方法 //无参构造方法【必须】 //有参构造方法【建议】 //成员方法 //getXxx(

qq_45912645的博客 170

JAVA SE之String类

String类1 Scanner1.1 Scanner的概述和构造方法原理1.2 Scanner类的hasNextXxx()和nextXxx()方法的讲解1.3 Scanner获取数据出现的小问题及解决方案2 String2.1 String类的概述2.2 String类的构造方法2.3 String的特点2.4 String类的判断功能2.5 模拟用户登录2.6 String类的获取功能2.7 字符串的遍历2.8 统计不同类型字符个数2.9 String类的转换功能2.10 String类的其他功能 1

weixin_54099780的博客 143

Java教程:SE进阶【十万字详解】(上)

大家好,我是程序员小羊!"面向对象和面向过程的思想对比 :​面向过程 : 是一种以过程为中心的编程思想,实现功能的每一步,都是自己实现的​面向对象 :是一种以对象为中心的编程思想,通过指挥对象实现具体的功能客观存在的事物皆为对象 ,所以我们也常常说万物皆对象。类的组成是由属性和行为两部分组成属性:在类中通过成员变量来体现(类中方法外的变量) 行为:在类中通过成员方法来体现(和前面的方法相比去掉static关键字即可)类的定义步骤:​ ① 定义类​ ② 编写类的成员变量​ ③ 编写类的成员方法

yang_xs的博客(只讲干货) 3742

【Java】快速入门String类

根据博主本人知识以及参考书籍《Java核心技术 卷一》,我对Java编程基础中的字符串String类以及一些基本操作进行了整理,希望能够帮到正在学习或复习Java语法的你。

2401_88030885的博客 690

【Java】String类中的常用方法

String类的一些常用方法介绍以及简单代码解释

m0_74956284的博客 999
上一篇: 初学Java---面向对象编程-设计模式学习(单例模式-模板方法-简单工厂-工厂方法)
下一篇: 初学Java---Java SE-StringBuilder和StringBuffer、System、Math、Random、Date和Calendar、Object以及封装类的使用
慕兮IT
博客等级 码龄8年 8粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

慕兮IT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值