202106小白训练营day05-java API

Posted 长安紫薯

tags:

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

jdk1.5 API手册

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

在这里插入图片描述

java有了了解

方法,如何使用java提供api手册
api application interface 应用程序接口
java提供一套api代码,这些代码屏蔽各个复杂操作系统(winodw,linux。。。)屏蔽硬件复杂。
我们开发者就可以通过一套程序,在java之上来编写。编写后的可以自适应不同的操作系统和硬件。
java的api远胜其他语言,c的api直接操作硬件,但是它对用户来说不够丰富。例如c语言没有写网页api,java它有丰富支持网页,j2ee有个分支javaWeb。python在人工智能领域非常成功api丰富。python写桌面就几乎不支持,java早早就可以做,Java提供桌面版api,经典案例eclipse。vb/.net/c# (抄java)微软。java比vb/c#强大,开源形成开源框架strust1、struts2、springmvc,spring,mybatis。。。大数据平台,hadoop(java)、spark(scala-> java)、flink(scala->java)
java生态链体系根jdk,j2se,api,工具包

java 老了。java是老了,到底是哪里老了?
java 核心包
javax 扩展包

在这里插入图片描述

企业中岗位划分和占比

c 1%/java80~90%/web前端5%/测试5%/python2%
菜鸟》初级工程师》中级工程师》高级工程师》系统分析师》架构师(技术岗)
小组长》项目经理》部门经理》技术总监》CTO技术副总(管理岗)

java自身部分知识过气,java生态链很多产品基于java平台
日常学习使用jdk手册(官方不会乱说)还是使用百度搜索(快捷)?

String 字符串,常用

在这里插入图片描述

TestApi.java

package cn.tedu.api;

import org.junit.Test;

public class TestApi {
	/*
	 * 转义字符 在ASCII码中,有些字母是可见的,有些字母是不可见 回车就是不可见字符,ASCII中怎么表达这些不可见字符呢?
	 * 使用转义方式来把可见字符代表不可见字符 转义字符\\,\\(字符斜杠)和\\(转义字符,就不是本身斜杠)n \\\\,第一斜杠转义,第二个斜杠字符,最终输出一个斜杠
	 */
	@Test
	public void convert() {
		System.out.println("n");
		System.out.println("==\\n=="); // 回车
		System.out.println("==\\t=="); // tab键
		System.out.println("==\\b==");
	}

	@Test // concat 字符串连接符
	public void concat() {
		String s1 = "王";
		String s2 = "隔壁";
		System.out.println(s1 + s2);
		System.out.println(s1.concat(s2));

		// 上面字符串长度是多少? .length()
		System.out.println(s1.length());
		System.out.println(s2.length());
		System.out.println((s1 + s2).length());
		System.out.println(s1.concat(s2).length());
	}

	@Test // trim 截取字符串两边的空格,支持多个
	public void trim() {
		String s = "    a b c    ";
		System.out.println(s.trim());
	}

	@Test // charAt 获取字符串的某个字符,字符串底层是字符数组,通过下标访问
	public void charAt() {
		String name = "陈强";
		// 获取到姓
		System.out.println(name.charAt(0));
		
		// 获取每一个字符?字符串长度,for循环遍历就获取到每个字符
		String s = "字符串长度";
		int len = s.length();
		for(int i=0; i<len; i++) {
			System.out.println( s.charAt(i) );
		}
	}
	
	@Test	//substring 截取字符,子串
	public void substring() {
		String name = "王隔壁";
		//截取字符串,两个参数就是下标对应值
		String firstName = name.substring(0, 1);
		System.out.println(firstName);
		
		//String lastName = name.substring(1, 3);
		//写代码尽量不要写死,需求改变,有一定适应能力
		//String lastName = name.substring(1, name.length());
		
		//它从当前指定位置开始,到字符串最后
		String lastName = name.substring(1);
		System.out.println(lastName);
	}
	
	@Test //toUpperCase 转大写,toLowerCase 转小写
	public void toCase() {
		String name = "TonyChan";
		System.out.println(name.toUpperCase());
		System.out.println(name.toLowerCase());
		
		//驼峰规则:大驼峰,小驼峰
		//获取当前类名,this代表自己,它是一个上下文的名称
		//在当前环境this代表TestApi这个类
		String className = this.getClass().getName(); //写法获取当前类的名称
		//cn.tedu.api.TestApi 上面的方法获取类名包括包路径
		System.out.println(className);
		
		//获取类名,不要包路径
		//1.找到最后的一个点的位置 indexOf,lastIndexOf
		int pos = className.lastIndexOf(".");
		System.out.println(pos);
		
		//2.然后截取字符串 TestApi
		className = className.substring(pos+1);
		System.out.println(className);
		
		//把首字母小写(小驼峰)
		//1.截取首字母 substring(字符串)/charAt(字符)
		String s1 = ""+className.charAt(0);
		
		//2.然后转小写 toLowerCase
		s1 = s1.toLowerCase();
		
		//3.两个部分拼接起来 concat
		String s2 = className.substring(1);
		System.out.println( s1.concat(s2) );
	}
	
}






身份证号解析案例

package cn.tedu.api;

import org.junit.Test;

/*
 * 610113198009102113 (固定长度 18位)
 * 1.地址码:610113(6位)substring截串
 * 2.出生日期:19800910(8位)substring截串,
 * 		substring截串年,月,日
 * 		1980年9月10日,	+/concat
 * 			09怎么变成9?,字符串转换整数9,自动把0去掉
 * 3.顺序号:211	substring截串
 * 4.性别:顺序号最后一位,奇数男,偶数女
 * 		substring截串,if判断,输出对应中文
 */
public class TestCardNo {
	@Test
	public void cardNo() {
		String cardNo = "610113198009052113";
		
		//1.地址码
		String address = cardNo.substring(0,6);
		System.out.println("地址码:" + address);
		
		//2.出生日期
		String birthday = cardNo.substring(6, 14);
		System.out.println(birthday);
		
		//先截取字符串,然后转换整型api,parseInt把字符串转换整数
		int year = Integer.parseInt(birthday.substring(0,4));
		int month = Integer.parseInt(birthday.substring(4,6));
		int day = Integer.parseInt(birthday.substring(6));
		
		System.out.println("出生日期:"+year+"年"+month+"月"+day+"日");
		
		String sno = cardNo.substring(14, cardNo.length()-1);
		System.out.println("顺序号:" + sno);
		
		String sex = sno.substring(sno.length()-1); //最后一位
		int s = Integer.parseInt(sex);	//把字符串转换整型
		if(s%2==1) {
			sex = "男";
		}else {
			sex = "女";
		}
		System.out.println("性别:" + sex);
		
	}
}

小结

java能成为全球第一大语言,完美api库(强大工具包集合),它几乎市场需要实现能力,它都有。服务器调用,服务器上的资源(CPU、内存、磁盘、网络、、)可以通过api直接操作。JavaWeb(JSP/servlet/applet)老旧项目再用,但是新的nodejs+vue+app+后台java springmvc,开源框架ssm 大中小(php php+linux+mysql+apache 小项目)+互联网架构+微服务架构+大数据。java它构建生态链体系。
java虽然老了,java生态链非常强大,现在没有敌手。

java api 应用程序接口,一堆工具类方法
java开发者首先要学习的就是这些api的使用
学习重点:项目,项目,项目(京淘-带着你学、项目峰会-独立分组开发)

以上是关于202106小白训练营day05-java API的主要内容,如果未能解决你的问题,请参考以下文章

202106小白训练营day04-java程序结构分支循环异常

202106小白训练营day03-java数据结构

202106小白训练营day02-java基础语法

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

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

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