API手册
注意:chm文件从网络下载后,菜单能展现点击后内容不能展现,按下面图修改下即可

api
了解即可,用到具体的api会用 System.in,System.out.println
日常常用的不到20%

字符串工具类

package test;
import java.util.Arrays;
import org.junit.Test;
//字符串api方法
public class TestString {
@Test //concat 字符串拼接
public void concat() {
System.out.println("hello" + " world." + " hi");
System.out.println("hello".concat(" world.").concat(" hi"));
String str = "hello world.";
System.out.println("字符串长度:" + str.length());
}
@Test //trim 去掉字符串两边空格
public void trim() {
String s = " 达内 CGB java大数据方向 ";
System.out.println( s.trim() );
}
@Test //charAt 得到某个位置字符,下标,字符串底层字符数组
public void charAt() {
String s = "达内CGB方向";
//第一个字符
System.out.println(s.charAt(0));
System.out.println(s.charAt(2));
//最后一个字符
System.out.println(s.charAt(s.length()-1));
}
@Test //substring 截取子串(截串)
public void substring() {
String s = "达内CGB Java大数据方向很棒";
//获取“达内”
System.out.println( s.substring(0,2) );
//获取“Java大数据”
System.out.println( s.substring(6, 13));
//获取“方向”,一个参数时,默认截取到字符串最尾巴
System.out.println( s.substring(13) );
}
@Test //转换大小写 toUpperCase、toLowerCase
public void toCase() {
String name = "Chen ZiShu";
System.out.println(name.toUpperCase());
System.out.println(name.toLowerCase());
//需求:已知类名,利用api生成它的对象实例名称
//规则:小驼峰,首字母小写
//PersonMan personMan = new PersonMan();
//思路:获取字符串首字母charAt(0),变小写toLowerCase()
// 截取字符串substring(),拼接字符串concat();
String className = "PersonMan";
String s1 = className.charAt(0)+""; //获取首字母
s1 = s1.toLowerCase();
System.out.println(s1);
String s2 = className.substring(1);
System.out.println(s2);
System.out.println(s1.concat(s2));
}
@Test //indexOf和lastIndexOf 获取某个字符、子串它的位置(索引值、下标)
public void indexOf() {
String s = "周杰伦.双.节.棍.mp3"; //有格式.
//1.获取歌手名称:周杰伦,思路找到名字后面.,然后截串
int pos1 = s.indexOf("."); //从左向右找,找到返回第一个就结束
System.out.println("位置:"+pos1);
System.out.println( s.substring(0, pos1) );
//2.获取歌曲的名称:周杰伦.双节棍
int pos2 = s.lastIndexOf("."); //从右向左找
System.out.println( s.substring(0, pos2) );
//3.获取歌曲文件后缀:mp3
System.out.println( s.substring(pos2+1) );
}
@Test //startsWith什么前缀prefix开头,endsWith什么后缀suffix结尾
public void with() {
String name = "http://www.baidu.com"; //url地址
//1.判断是否是http协议
if( name.startsWith("http://")) {
System.out.println("这是一个HTTP网站");
}else {
System.out.println("这是其他类型的网站");
}
//2.判断是否是com公司,.cn中国,.com全球公司,.net网络提供
if( name.endsWith(".cn")) {
System.out.println("cn中国公司");
}else if( name.endsWith(".com") ) {
System.out.println("com全球公司");
}else if( name.endsWith(".net") ) {
System.out.println("net网络提供商");
}
}
@Test //正则表达式 regex
public void regex() {
//java中默认采用UTF16
String s = "王180a,李133b,陈139c,张130d";
//需求:把数字替换成*
//思路:获取每个字符charAt(i),判断是否是一个数字
//怎么判断是数字,ASCII表,0(48)~9(57) ASCII值
//如果是数字就改成*,如果不是继续for循环
String r = ""; //空串
for(int i=0; i<s.length(); i++) {
char c = s.charAt(i); //for循环变量刚好和下标匹配
if(c>=48 && c<=57) { //0(48)~9(57)
c = '*'; //如果是数字就被改为*
}
r += c;
}
System.out.println(r);
//采用正则表达式方式,正则代码量少,不好理解
System.out.println(
s.replaceAll("\\d", "*").replaceAll("[a-z]", "+")
);
}
@Test //replace、replaceAll 替换
public void replace() {
String s = "刘若英.后天.mp3";
//需求:把.替换成*
System.out.println( s.replace(".", "*") );
// \\.代表不是正则中的规则点,而是字符的点,转义
System.out.println( s.replaceAll("\\.", "*") );
}
@Test //split 转换字符串为数组,必须有一个分隔符
public void split() {
String s = "刘若英.后天.mp3"; //分隔符是不出现结果中
String[] arr = s.split("\\.");
System.out.println( Arrays.toString(arr));
String type = "手机,电视,冰箱,烧水壶,空调";
System.out.println( Arrays.toString(type.split(",")));
String grade = "100;90;88;120;80";
System.out.println( Arrays.toString(grade.split(";")));
}
@Test //需求:学生姓名,只留下姓,其他的字替换*
public void star() {
String s = "刘德华,张曼玉,齐秦,周星驰";
//思路:获取每个姓名,for循环把第一个字后面的都用*替代
String[] names = s.split(",");
//遍历数组
for(int i=0; i<names.length; i++) {
String name = names[i];
System.out.println( name );
//再次for循环,把姓之后字变成*
String r = name.substring(0,1); //姓
for(int j=1; j<name.length(); j++) {
r += "*";
}
System.out.println(r);
}
}
}
身号解析
package test;
import org.junit.Test;
/*
* 身号
* 1)总共18位
* 2)前6地址码
* 3)8位出生年月日
* 3)3位顺序码,最后一位性别,奇数:男,偶数:女
* 4)最后一位校验位
*/
public class TestCardNo {
@Test
public void cardNo() {
String cardNo = "610113198009102113";
if(cardNo.length()==18) { //判断输入长度是否正确
String address = cardNo.substring(0,6);
System.out.println("地址码:"+address);
String birthday = cardNo.substring(6,14);
System.out.println("出生年月:" + birthday);
String sno = cardNo.substring(14,17);
System.out.println("顺序号:" + sno);
String x = sno.substring(2);
System.out.println(x);
//字符串转换为整数类型
int i = Integer.parseInt(x);
if(i%2==0) {
System.out.println("性别:女");
}else {
System.out.println("性别:男");
}
System.out.println("校验码:" + cardNo.substring(17));
}else {
System.out.println("身号不正确");
}
}
}
小结
1)API,java提供应用程序接口(插线板)就可以按规则来写程序,
写程序有了java(JDK)就像搭积木,事半功倍,开发效率就高。
这才是java核心,主要就是学习这些api的用法。(多练习,api的组合去完成需求)
API需要一定背

本文介绍Java中字符串类的各种方法,包括拼接、截取、替换等操作,并通过示例代码展示了如何使用这些方法解决实际问题。
854

被折叠的 条评论
为什么被折叠?



