java小白训练营day05-API:API+字符串工具类+身份证解析

Posted 长安紫薯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java小白训练营day05-API:API+字符串工具类+身份证解析相关的知识,希望对你有一定的参考价值。

API手册

下载jdk1.5手册

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

api

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

字符串工具类

package test;

import org.junit.Test;

//字符串api方法
public class TestString {
	@Test //concat 字符串拼接
	public void concat() {
		System.out.println("hello" + " world.");
		System.out.println("hello".concat(" world."));
		
		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]", "+")
		);
	}
	
}











身号解析

以上是关于java小白训练营day05-API:API+字符串工具类+身份证解析的主要内容,如果未能解决你的问题,请参考以下文章

java小白训练营2109-day05-API:API+字符串工具类+身份证解析

202106小白训练营day05-java API

202106小白训练营day01-java第一个案例HelloWorld

java小白训练营day05-知识回顾

java小白训练营2109-day05-知识回顾

java小白训练营2109-day03-数据结构:基本类型+包装类型+数组+对象