常用API类方法笔记整理1

1.文档注释

文档注释是功能级注释,用来说明一个类,一个方法或一个常量的,因此只在上述三个地方使用。
文档注释可以使用java自带的命令javadoc来对这个类生成手册。

package api;/*** 文档注释是功能级注释,用来说明一个类,一个方法或一个常量的,因此只在上述三个地方使用。* 文档注释可以使用java自带的命令javadoc来对这个类生成手册。** 在类上使用时用来说明当前类的整体功能。* @author FAN*/
public class Demo {/*** sayHello中使用的问候语*/public static final String INFO = "Hello!";/*** 为给定的用户添加一个问候语* @param name 指定的用户的名字* @return  返回了含有问候语的字符串*/public String sayHello(String name){return "Hello!"+ name;}
}

2.String类

String用来表示一个字符串。具有以下特点:

•java.lang.String使用了final修饰,不能 被继承;

•字符串底层封装了字符数组及针对字符数组的操作算法;

•字符串一旦创建,对象永远无法改变,但字符串引用可以重新赋值;

•Java字符串在内存中采用Unicode编码方式,任何一个字符对应两个字节的定长编码。

字符串常量池

java在堆内存中开辟了一段空间用于缓存所有使用字面量形式创建的字符串对象,并在后期再次使用该字面量创建字符串时重用对象,避免内存中堆积大量内容一样的字符串对象来减小内存开销。

对于重复出现的字符串直接量,JVM会首先在常量池中查找,如果存在即返回该对象地址。

package string;
/***  字符串String*  内部使用一个char数组保存所有字符,每个字符为2字节,存的是该字符unicode编码。*  字符串是不变对象,一旦创建内容不可改变,若改变会创建新对象*/
public class StringDemo {public static void main(String[] args) {/*字符串常量池java在堆内存中开辟了一段空间用于缓存所有使用字面量形式创建的字符串对象,并在后期再次使用该字面量创建字符串时重用对象,避免内存中堆积大量内容一样的字符串对象来减小内存开销。*/String s1 = "123abc";//字面量String s2 = "123abc";//与s1字面量相同,重用对象//地址相同,说明s2重用了s1对象System.out.println(s1==s2);//trueString s3 = "123abc";System.out.println(s1==s3);//trueString s4 = new String("123abc");//new会产生新对象System.out.println("s4:"+s4);System.out.println(s1==s4);//false/*通常我们判断字符串都是比较内容,因此应当使用字符串的equals方法*/System.out.println(s1.equals(s4));//true/*由于字符串是不变对象,改变内容会产生新对象*/s1 = s1 + "!";//生成一个新的字符串对象123abc!.System.out.println("s1:"+s1);//123abc!System.out.println("s2:"+s2);//123abcSystem.out.println(s1==s2);//false s1,s2已经不再指向同一个对象了/*这里触发了一个编译器的特性:编译器在编译期间若遇到几个计算表达式,发现在编译期可以确定结果时就会进行计算并将结果编译到class文件中,这样以来JVM每次执行字节码文件就无需再计算了。下面的代码会被编译器改为:String s5 = "123abc";也因此s5会重用常量池中的对象,所以地址与s2相同*/String s5 = "123" + "abc";System.out.println("s5:"+s5);System.out.println(s2==s5);String s = "123";String s6 = s + "abc";System.out.println("s6:"+s6);System.out.println(s2==s6);String s7 = 1+2+3+"abc";//6abcSystem.out.println(s2==s7);//falseString s8 = 1+'2'+3+"abc";System.out.println(s2==s8);//falseString s9 = 1+"2"+3+"abc";System.out.println(s2==s9);//true}
}

字符串常用方法

int length()

返回当前字符串的长度(字符个数)

package string;public class LengthDemo {public static void main(String[] args) {String str = "我爱java!";int len = str.length();System.out.println("len:"+len);}
}
indexOf()

检索给定字符串在当前字符串中的位置,若当前字符串不含有给定内容则返回值为-1

package string;public class IndexOfDemo {public static void main(String[] args) {//            0123456789012345String str = "thinking in java";int index = str.indexOf("in");//2System.out.println(index);//重载的方法可以从指定位置开始检索第一次出现给定字符串的位置index = str.indexOf("in",3);//5System.out.println(index);//检索最后一次出现in的位置index = str.lastIndexOf("in");System.out.println(index);}
}
substring()

截取当前字符串中指定范围内的字符串。两个参数分别为开始位置的下标和结束位置的下标。

package string;/*** String substring(int start,int end)* 截取当前字符串中指定范围内的字符串。两个参数分别为开始位置的下标和结束位置的下标。* 注:在JAVA API中通常使用两个数字表示范围时是"含头不含尾"的。*/
public class SubstringDemo {public static void main(String[] args) {//             01234567890String line = "www.tedu.cn";//截取域名teduString str = line.substring(4,8);System.out.println(str);//重载的方法是从指定位置开始截取到字符串末尾str = line.substring(4);System.out.println(str);}
}
trim()

去除一个字符串两边的空白字符

package string;/*** String trim()* 去除一个字符串两边的空白字符*/
public class TrimDemo {public static void main(String[] args) {String line = "   hello         ";System.out.println(line);String trim = line.trim();System.out.println(trim);}
}
charAt()

返回当前字符串中指定位置上的字符

package string;/*** char charAt(int index)* 返回当前字符串中指定位置上的字符*/
public class CharAtDemo {public static void main(String[] args) {//            0123456789012345String str = "thinking in java";//获取第10个字符char c = str.charAt(9);System.out.println(c);}
}
startsWith()和endsWith()

判断当前字符串是否是以给定的字符串开始或结束的。

package string;/*** boolean startsWith(String str)* boolean endsWith(String str)* 判断当前字符串是否是以给定的字符串开始或结束的。*/
public class StartsWithDemo {public static void main(String[] args) {String line = "http://www.tedu.com";boolean starts = line.startsWith("http");System.out.println("starts:"+starts);boolean ends = line.endsWith(".com");System.out.println("ends:"+ends);}
}
toLowerCase()和toUpperCase()
package string;/*** String toUpperCase()* String toLowerCase()* 将当前字符串中的英文部分转换为全大写或全小写*/
public class ToUpperCaseDemo {public static void main(String[] args) {String line = "我爱Java";String lower = line.toLowerCase();System.out.println(lower);String upper = line.toUpperCase();System.out.println(upper);}
}
valueOf()

String提供了一组重载的静态方法:valueOf,作用是将其他类型转换为String

package string;/*** String提供了一组重载的静态方法:valueOf* 作用是将其他类型转换为String*/
public class ValueOfDemo {public static void main(String[] args) {int a = 123;String s1 = String.valueOf(a);System.out.println("s1:"+s1);double d = 123.123;String s2 = String.valueOf(d);System.out.println("s2:"+s2);String s3 = a+"";//任何内容和字符串链接结果都是字符串System.out.println("s3:"+s3);}
}

常用API类方法笔记整理1相关推荐

  1. SiKi学院 Unity中常用api学习笔记(001-014)

    Api 应用程序编程接口 前言 笔记是看siki学院中<Unity中常用api>的学习笔记 课程地址:  http://www.sikiedu.com/my/course/59 强烈推荐大 ...

  2. SiKi学院 Unity中常用api学习笔记(015-019)

    Api 应用程序编程接口 前言 笔记是看siki学院中<Unity中常用api>的学习笔记 课程地址:  http://www.sikiedu.com/my/course/59 强烈推荐大 ...

  3. day01【Object类、常用API】-笔记

    day01[Object类.常用API] 主要内容 Object类 Date类 DateFormat类 Calendar类 System类 StringBuilder类 包装类 教学目标 -[ ] 能 ...

  4. JAVA常用API的笔记

    常用API 1.定义: 指的就是 JDK 中提供的各种功能的 Java类,这些类将底层的实现封装了起来 2.String String 类代表字符串,Java 程序中的所有字符串文字(例如" ...

  5. 常用API函数(整理)--一天积累0.1点

    常用API函数,日积月累! //读内存 [DllImportAttribute("kernel32.dll", EntryPoint = "ReadProcessMemo ...

  6. 【repost】Javascript操作DOM常用API总结

    Javascript操作DOM常用API总结 文本整理了javascript操作DOM的一些常用的api,根据其作用整理成为创建,修改,查询等多种类型的api,主要用于复习基础知识,加深对原生js的认 ...

  7. JavaSE基础笔记——常用API、Lambda、常见算法

    日期与时间 时间日期是在任何一个程序系统里几乎都不可能忽略掉的数据量,而且大量的算法在底层都会使用到时间日期数据值作为算法的基本种子(随机数算法或加密算法都经常用到). 计算机里,时间日期的本质 作为 ...

  8. JavaScript一些常用 API整理汇总

    JavaScript一些常用 API整理汇总 Array new Set() 数组去重 const arr = [3,4,4,5,4,6,5,7]; console.log(new Set(arr)) ...

  9. git版本控制系统常用指令,Xmind笔记整理

    git仓库使用.项目版本管理基本常用指令 纯手工整理Xmind笔记: 点我下载 预览图: Png: 如有错误,谢谢指出

最新文章

  1. 湖南大学新生赛C,G,J题解
  2. 系统开发基础:UML中图的相关知识笔记(上)
  3. Jmeter使用之高效组织接口自动化用例技巧
  4. XML1_XML基础
  5. lisp 角平分线_清华同方mds软件下载安装 清华英泰cad mds2002
  6. Django 实现文件下载
  7. vue 图片拖拉转放大缩小组件
  8. 直播预告丨技术干货:易鲸捷HTAP融合型分布式数据库连接服务层介绍
  9. JavaScript弹窗提示
  10. 慢病管理系统开发提升能区域医疗慢病管理服务吗
  11. 生成永不过期的微信群二维码
  12. 卸载office提示无法打开修补程序包 修补程序包是否存在的解决方法.
  13. C++遍历(traversal)总结
  14. 解决Chrome插件安装时出现的“程序包无效”问题
  15. 第2章 无人艇局部危险避障算法研究
  16. WIN10下TensorFlow GPU版安装顺序
  17. 【参赛作品66】快速搭建一套openGauss主备高可用集群
  18. SQL Server使用快捷键查看指定表的信息(字段、备注、索引、约束信息等)
  19. BugKu:WEB——gam1
  20. 论养成好习惯的重要性

热门文章

  1. 成都中考数学可以用计算机,2019年成都中考数学试卷分析报告出炉,保底分值应该在129分...
  2. python中的Queue
  3. 小时光扫地机器人圆圆_我也有了扫地机器人“圆圆”,漫天猫毛不愁了
  4. 《学会提问》02| 论题和论证
  5. Oracle 内存(SGA,PGA)详细介绍
  6. RedHat7安装Systemc 编译仿真
  7. 什么是基础设施项目管理?
  8. PKI 公钥基础设施原理与应用
  9. HTML5系列代码:主色调红色的配色方案表
  10. Python 下载文件获取文件名request.get(...,stream=True)