JAVA API课程笔记 Unit01

JAVA API 课程笔记


Unit 01

一、API文档

1. JDK API介绍

介绍: JDK中包含大量的API(application programming Interface)。API就是把一些已经写好的、可以直接调用的功能以类的形式封装。用户可以直接使用。常用的有字符串操作、集合操作、文件操作、输入输出操作、网络操作、多线程等等。 JDK类库按包结构划分

类库名作用
java.lang基础类,可以直接使用,不用import
java.util常用工具集、集合、随机数产生器、日历、时钟等都在
java.io文件操作、输入输出等
java.net网络操作
java.math数学运算相关操作
java.security安全相关操作
java.sql数据库访问
java.txt处理文字、日期、数字、信息的格式

2. 文档注释
  • /** 开头,*/结尾,通过javadoc工具将其转换为HTML文档说明。
  • 文档注释写在类和方法的开头,用于说明时间、作者、版本,要实现的功能的详细描述等信息。
    生成的HTML界面

生成文档时报了:javadoc: 错误 - 无法读取Input length = 1
解决方法:生成文档的保存路径要是英文的,且我命名类的时候命名为中文了,要把他们都改成英文就行了。

二、字符串基本操作

1. String 是不可改变对象
  • java.lang.String使用了final修饰,不能被继承和修改。
  • 字符串对象一旦被被创建了就无法改变了。但是字符串可以重新指向。
  • java字符串采用unicode编码,规定一个字符对应两个字节长度编码。
str = "Hello";
str = str +"!";

由下图可以看到,字符串的更改是重新创立了一个新的对象,str引用类型再重新指向新的对象。旧的字符串对象由于没有指向就会被回收。
字符串的更改

2. String常量池
  • 静态字符串:字面量(看见什么就是什么值)、常量、常量连接的结果。
  • java中静态字符串会在常量池中创建,创建一个新的字符串对象时JVM首先会检查String常量池中有无相同的字符串,如果有的话会直接将引用类型指向String常量池中已有的字符串。这样可以节省内存。这也是为什么字符串不能修改只能重新创建的原因。

编译器的特性:当表达式两边都是字面量时,编译会将计算完后得出的结果直接替换到表达式原来的位置。
String str = "123" + "Hello"; //等价于 String str = "123Hello";

3. 一些工具
  1. 获取字符串长度str.length();
String s = "Hello!";
		System.out.println(s.length());
		//输出结果:6
  1. indexOf 检索
  • int indexOf ( String str ) 在字符串中检索str,返回第一个字母所在的位置。若没有检索到则返回 -1。
  • int indexOf ( String str, int fromIndex) 从字符串的fromIndex位置开始检索,返回第一个字符所在位置。没有检索到返回-1。
  • int lastIndexOf ( Stringstr, int from) 从字符串的fromIndex位置开始检索,返回最后一个字符所在位置。没有检索到返回-1。

    java中两个数字表示一个范围一般都是[a,b) 含头不含尾。

String str1 = "buhuhioiihhuhuhuhijih";
		int location = str1.indexOf("io");
		int location2 = str1.indexOf("h",3);
		int location3 = str1.lastIndexOf("hi");
		System.out.println(location);//5
		System.out.println(location2);//4
		System.out.println(location3);//16
  1. substring获取子串
  • string sbustring ( int beginIndex , int endIndex ) 返回字符串从下标(包括)到上标(不包括)的子字符串。
  • String substring ( int beginIndex ) 返回从beginIndex位置到字符串尾的字符串。
		/**
		 * indexOf练习,获取域名www.oracle.com
		 * 思路:获取第一点位置
		 * 		获取第二个点的位置
		 * 		获取第一个点位置到第二个点位置中间的字符串并打印
		 */
		String str2 = " www.oracle.com ";
		int start = str2.indexOf(".");
		int end = str2.indexOf(".",start+1);
		String str3 = str2.substring(start+1, end);
		System.out.println(str3);  //oracle
		System.out.println(str2.substring(start+1));  //oracle.com
  1. trim() 去除字符串两边的空白(空格,tab等)。
		/**
		 * trim()演示
		 */
		String str4 = str2.trim();
		System.out.println(str4);  //www.oracle.com
  1. char charAt(int index) 返回字符串指定位置的字符
/**
		 * char charAt(int index) 返回字符串指定位置的字符
		 * 判断字符串是否是回文
		 */
		String str5 = "上海自来水来自海上";
		int len = str5.length()/2;
		boolean flag = true;
		for(int i=0;i<len;i++) {
			if(		str5.charAt(i) 
					!= 
					str5.charAt(str5.length()-i-1)) {
				flag = false;
				break;
			}
		}
		if(flag == true) {
			System.out.println("是回文");
		}
		else {
			System.out.println("不是回文");
		}
	}
}
  1. 判断字符是否以给定字符开头或者结尾。
  • boolean startsWith(string str);
  • boolean endsWith(string str);
  1. 大小写变换
    toUpperCase( ) ;
    toLowerCase( ) ;
  2. valueOf 将其他类型转换为字符串类型。
    格式:String.valueOf();
    valueOf有若干的重载方法。
		/**
		 * valueOf 演示
		 */
			double pi = 3.14159;
			int value = 123;
			char[] charArr = {'a','b','c','d','e',};
			String str6 = String.valueOf(pi);
			String str7 = String.valueOf(value);
			String str8 = String.valueOf(charArr);
			System.out.println(str6+" "+str7+" "+str8);  //3.14159 123 abcde
	}

三、StringBuilder封装可变字符串

  1. StringBuilder是一种类型,用力啊封装可变的字符串,用过调用里面的方法来改变字符串,用于解决字符串频繁修改所带来的内存消耗。
  2. 构造方法
public StringBuilder()
public StringBuilder(String str)
  1. 五种常用的方法
方法名作用
appends(string str)追加字符串
insert(int dstOffset , String str)插入字符串
delete(int start, int end)删除字符串
replace(int start, int end , string str)替换字符串
reverse字符串反转
			/**
			 * StringBuilder演示
			 */
			StringBuilder str9 = new StringBuilder("HI,my name is jin");
			str9.append("How are you");	//HI,my name is jinHow are you
			str9.insert(17 , ",!");	//HI,my name is jin,How are you
			str9.delete(18, 19);//HI,my name is jin,How are you
			str9.reverse();		//uoy era woH,nij si eman ym,IH
			System.out.println(str9);	
  1. 返回值:StringBuilde很多方法的返回值都是StringBuilder类。且为
return this;
  1. StringBuilder 与 StringBuffer
类型特点
StringBuilder非线程安全、并发处理、性能稍快
StringBuffer线程安全、同步处理、性能稍快
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值