JAVASE02-Unit01: API文档 、 字符串基本操作
API文档 、 字符串基本操作
文档注释
- package day01;
- /**
- * 文档注释只能定义在三个地方:
- * 类,方法,常量
- *
- * 文档注释是功能注释,用来说明功能作用
- * 在类上使用的目的是说明当前类的设计目的
- *
- * @author adminitartor
- * @version 1.0
- * @see java.lang.String
- * @since JDK1.0
- *
- */
- public class DocApiDemo {
- /**
- * sayHello方法中的问候语
- */
- public static final String INFO = "你好!";
- /**
- * 对给定用户添加一个问候语
- * @param name 给定的用户名
- * @return 添加了问候语的字符串
- */
- public String sayHello(String name){
- return "你好!"+name;
- }
- }
DocApiDemo.java
频繁修改字符串带来的性能开销问题
- package day01;
- /**
- * 频繁修改字符串带来的性能开销问题
- * @author adminitartor
- *
- */
- public class StringDemo2 {
- public static void main(String[] args) {
- String str = "a";
- for(int i=0;i<1000000;i++){
- str += "a";
- }
- }
- }
StringDemo.java
字符串常量池
- package day01;
- import java.util.Random;
- /**
- * 字符串常量池
- * java对字符串做了一个优化措施,即:使用字面量形式
- * 创建字符串对象时,会将该对象存入常量池缓存起来,
- * 当再次创建该内容字符串时会重用对象,减少内存开销。
- * 正因为重用相同内容字符串对象,所以该对象变为"公用"
- * 对象,那么字符串被规定为是不便对象,即字符串对象一
- * 旦创建内容不可改变,若改变必定创建新对象。
- * @author adminitartor
- *
- */
- public class StringDemo1 {
- public static void main(String[] args) {
- String s1 = "123abc";
- //字面量形式创建字符串会重用之前创建的对象
- String s2 = "123abc";//重用s1创建的对象
- System.out.println(s1==s2);//true
- String s3 = "123abc";
- System.out.println(s1==s3);//true
- //new 一定创建新对象
- String s4 = new String("123abc");
- System.out.println(s1==s4);//false
- //修改内容会创建新对象
- s1 = s1+"!";
- System.out.println(s1);//123abc!
- System.out.println(s2);//123abc
- System.out.println(s1==s2);//false
- /*
- * 编译器在编译源程序时当发现一个计算表达式
- * 计算符号两边的内容都是字面量时,会直接运算
- * 并将结果编译到class文件中,所以下面的代码
- * 在class文件中的样子为:
- *
- * String s5 = "123abc";
- *
- * 所以s5会重用s2对象
- */
- String s5 = "123"+"abc";
- System.out.println(s2==s5);
- String s = "123";
- String s6 = s + "abc";
- System.out.println(s2==s6);
- String s7 = 1+"23"+"abc";
- System.out.println(s2==s7);
- String s8 = '1'+23+"abc";
- System.out.println(s2==s8);
- }
- }
StringDemo.java
截取指定范围内的字符串
- package day01;
- /**
- * String substring(int start,int end)
- * 截取指定范围内的字符串
- * JAVA API有一个特点,通常使用两个数字表示范围
- * 时都是"含头不含尾"的
- * @author adminitartor
- *
- */
- public class String_Substring {
- public static void main(String[] args) {
- // 01234567890123
- String str = "www.oracle.com";
- //截取域名
- String sub = str.substring(4, 10);
- System.out.println(sub);
- sub = str.substring(4);
- System.out.println(sub);
- //通用截取域名操作
- str = "www.sohu.com.cn";
- int s = str.indexOf(".")+1;
- int e = str.indexOf(".",s);
- sub = str.substring(s, e);
- System.out.println(sub);
- }
- }
String_substring
将当前字符串中的英文部分转换为全大写或全小写
- package day01;
- /**
- * String toUpperCase()
- * String toLowerCase()
- * 将当前字符串中的英文部分转换为全大写或全小写
- * @author adminitartor
- *
- */
- public class String_ToUpperCase {
- public static void main(String[] args) {
- String str = "我爱Java";
- String upper = str.toUpperCase();
- System.out.println(upper);
- String lower = str.toLowerCase();
- System.out.println(lower);
- }
- }
String_ToUpperCase.java
去除当前字符串两边的空白字符
- package day01;
- /**
- * String trim()
- * 去除当前字符串两边的空白字符
- * @author adminitartor
- *
- */
- public class String_Trim {
- public static void main(String[] args) {
- String str = " hello ";
- System.out.println(str);
- str = str.trim();
- System.out.println(str);
- }
- }
String_Trim.java
将java中其他类型转换为一个字符串
- package day01;
- /**
- * String提供了一组静态方法valueOf
- * 作用是将java中其他类型转换为一个字符串
- * 常用来将基本类型转换为字符串
- * @author adminitartor
- *
- */
- public class String_ValueOf {
- public static void main(String[] args) {
- int a = 123;
- String iStr = String.valueOf(a);
- System.out.println(iStr+4);
- double d = 123.123;
- String dStr = String.valueOf(d);
- System.out.println(dStr+4);
- iStr = a + "";
- }
- }
String_ValueOf.java
该类为了解决频繁修改字符串带来的性能损耗问题
- package day01;
- /**
- * java.lang.StringBuilder
- * 该类为了解决频繁修改字符串带来的性能损耗问题
- * 其提供了编辑字符串的相关方法:
- * 增,删,改,插
- * @author adminitartor
- *
- */
- public class StringBuilderDemo {
- public static void main(String[] args) {
- String str = "努力学习java";
- /*
- * 想修改字符串则创建StringBuilder并将
- * 要修改的字符串内容传入。
- */
- StringBuffer builder
- = new StringBuffer(str);
- /*
- * StringBuilder append(String str)
- * 在当前字符串末尾追加给定内容
- *
- * 努力学习java
- * 努力学习java,为了找个好工作!
- */
- builder.append(",为了找个好工作!");
- //toString可以获取builder内部的字符串
- str = builder.toString();
- System.out.println(str);
- /*
- * StringBuilder replace(int s,int e,String str)
- * 将当前字符串指定范围内的字符串内容替换为给定内容
- *
- * 努力学习java,为了找个好工作!
- * 努力学习java,就是为了改变世界!
- */
- builder.replace(9, 16, "就是为了改变世界");
- System.out.println(builder.toString());
- /*
- * StringBuilder delete(int s,int e)
- * 删除指定范围内的字符串
- *
- * 努力学习java,就是为了改变世界!
- * ,就是为了改变世界!
- */
- builder.delete(0, 8);
- System.out.println(builder.toString());
- /*
- * StringBuilder insert(int index,String str)
- * 在指定位置插入指定字符串
- *
- * ,就是为了改变世界!
- * 活着,就是为了改变世界!
- */
- builder.insert(0, "活着");
- System.out.println(builder.toString());
- //反转字符串
- builder.reverse();
- System.out.println(builder.toString());
- }
- }
StringBuilderDemo.java
使用StringBuilder修改字符串的效率
- package day01;
- /**
- * 使用StringBuilder修改字符串的效率
- * @author adminitartor
- *
- */
- public class StringBuilderDemo2 {
- public static void main(String[] args) {
- StringBuilder builder
- = new StringBuilder("a");
- for(int i=0;i<1000000;i++){
- builder.append("a");
- }
- }
- }
StringBuilderDemo2.java
返回当前字符串中指定位置处的字符
- package day01;
- /**
- * char charAt(int index)
- * 返回当前字符串中指定位置处的字符
- * @author adminitartor
- *
- */
- public class String_CharAt {
- public static void main(String[] args) {
- // 0123456789012345
- String str = "thinking in java";
- char c = str.charAt(9);
- System.out.println(c);//'i'
- /*
- * 检测回文
- * 上海自来水来自海上
- */
- str = "上海自来水自来海上";
- for(int i=0;i<str.length()/2;i++){
- if(str.charAt(i)!=
- str.charAt(str.length()-1-i)
- ){
- System.out.println("不是回文");
- return;//结束方法
- }
- }
- System.out.println("是回文");
- }
- }
String_CharAt.java
查找给定字符串在当前字符串中的位置(下标)
- package day01;
- /**
- * int indexOf(String str)
- * 查找给定字符串在当前字符串中的位置(下标)
- * 若当前字符串不含有给定内容则返回指为-1
- * @author adminitartor
- *
- */
- public class String_IndexOf {
- public static void main(String[] args) {
- //java编程思想
- // 0123456789012345
- String str = "thinking in java";
- int index = str.indexOf("in");
- System.out.println("index:"+index);
- //从指定位置处开始查找"in"第一次出现的位置
- index = str.indexOf("in",3);
- System.out.println("index:"+index);
- //查找最后一次出现"in"的位置
- index = str.lastIndexOf("in");
- System.out.println("index:"+index);
- }
- }
String_IndexOf.java
返回当前字符串的长度(字符个数)
- package day01;
- /**
- * int length()方法
- * 返回当前字符串的长度(字符个数)
- * @author adminitartor
- *
- */
- public class String_Length {
- public static void main(String[] args) {
- String str = "我爱java";
- int len = str.length();
- System.out.println("len:"+len);
- }
- }
String_Length.java
判断当前字符串是否是以给定字符串起始或结尾的
- package day01;
- /**
- * boolean startsWith(String str)
- * boolean endsWith(String str)
- * 判断当前字符串是否是以给定字符串起始或结尾的
- * @author adminitartor
- *
- */
- public class String_StartsWith {
- public static void main(String[] args) {
- String str = "thinking in java";
- boolean starts = str.startsWith("think");
- System.out.println("starts:"+starts);
- boolean ends = str.endsWith("ava");
- System.out.println("ends:"+ends);
- }
- }
String_StartsWith.java
JAVASE02-Unit01: API文档 、 字符串基本操作的更多相关文章
- Day01:API文档 / 字符串基本操作
JDK API 什么是JDK API? JDK中包含大量的API类库,所谓AP就是一些写好的,可提供直接调用的功能(在Java语言中,这些功能以类的形式封装). JDK API包含的类库功能强大,经常 ...
- jQuery MiniUI开发系列之:使用API文档
jQuery MiniUI在组件设计上,是简约.独立的,没有复杂的继承体系. 比如使用DataGrid,可以在api文档的datagrid部分,查找到datagrid的所有属性.方法.事件,而无需关注 ...
- ASP.NET CORE 1.0 MVC API 文档用 SWASHBUCKLE SWAGGER实现
from:https://damienbod.com/2015/12/13/asp-net-5-mvc-6-api-documentation-using-swagger/ 代码生成工具: https ...
- HighCharts 详细使用及API文档说明
一.HighCharts开发说明: HighCharts开发实际上配置HighCharts每个部分,比如配置标题(title),副标题(subtitle)等,其中每个部分又有更细的参数配置,比如标题下 ...
- GhostDoc:生成.NET API文档的工具 (帮忙文档)
在 Sandcastle:生成.NET API文档的工具 (帮忙文档) 后提供另一个生成API文档的工具. 1) 准备工作 安装GhostDoc Proc. 收费的哦.... 这个工具的优势是不像 ...
- 使用jsdoc-toolkit来自动生成js api文档
近来前端组小盆友开发的类库越来越多,很多情况下彼此不知道写了些什么方法,为了更好的合作提高工作效率,找了个比较好的api文档生成方法.使用jsdoc-toolkit来自动生成js api文档. 一. ...
- HighCharts 具体使用及API文档说明
一.HighCharts开发说明: HighCharts开发实际上配置HighCharts每一个部分,比方配置标题(title),副标题(subtitle)等,当中每一个部分又有更细的參数配置,比方标 ...
- grunt api 文档
Grunt docs Grunt和 Grunt 插件是通过 npm 安装并管理的,npm是 Node.js 的包管理器. 安装 grunt-cli npm install grunt-cli -g 注 ...
- FastDFS接口API文档说明
FastDFS接口API文档说明 时间:2012-03-17 来源:R9IT 作者:R9传奇 一.命令行的上传: 上传命令1. /usr/local/bin/fdfs_upload_file conf ...
随机推荐
- BZOJ2080 : [Poi2010]Railway
如果存在$k$使得$i<j<k$,且$a[k]<a[i]<a[j]$,那么$i$和$j$不能在一个栈中. 设$b[i]=\min(a[i..n])$,如果$b[j]<a[ ...
- ajax、post、get实例
html代码: <!DOCTYPE HTML><html lang="en-US"><head> <meta charset=" ...
- 前端构建之gulp与常用插件
gulp是什么? http://gulpjs.com/ 相信你会明白的! 与著名的构建工具grunt相比,有什么优势呢? 易于使用,代码优于配置 高效,不会产生过多的中间文件,减少I/O压力 易于学习 ...
- android 第三方 图表
1.XCL-Charts 直接利用Canvas api画出图形,各有好处. XCL-Chart尽量把图的绘制逻辑封装在类中,而把绘制相关的各 个元素开放出来,目的是在保证开发效率的同时,给程序员足够多 ...
- 设置 tableview 的背景颜色,总是不生效
1.只设置了背景图片,却忘记了取消掉 cell 的背景颜色(可以通过层次结构来观察) UIImageView *bgView = [[UIImageView alloc]initWithFrame:s ...
- Linux 下安装mysql 链接库
1.mysql 客户端 开发 链接库 1.1)CentOS yum install mysql-devel
- php by oneself
在php里面写html代码真的很麻烦,最近学到了一个新的方法: <html> <head> <title>PHP</title> <meta ht ...
- python 数据类型基础
Python3 运算符 什么是运算符? 本章节主要说明Python的运算符.举个简单的例子 4 +5 = 9 . 例子中,4 和 5 被称为操作数,"+" 称为运算符. 1.算术运 ...
- 数位DP HDU3555
Bomb Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others)Total Submi ...
- bzoj3504: [Cqoi2014]危桥--最大流
题目大意:给张无向图,有两个人a,b分别从各自的起点走向各自的终点,走A,B个来回,图里有些边只能走两次,求问是否能满足a,b的需求 按照题目给的表建图 S连a1,b1 a2,b2连T 跑最大流看是否 ...