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文档 、 字符串基本操作的更多相关文章

  1. Day01:API文档 / 字符串基本操作

    JDK API 什么是JDK API? JDK中包含大量的API类库,所谓AP就是一些写好的,可提供直接调用的功能(在Java语言中,这些功能以类的形式封装). JDK API包含的类库功能强大,经常 ...

  2. jQuery MiniUI开发系列之:使用API文档

    jQuery MiniUI在组件设计上,是简约.独立的,没有复杂的继承体系. 比如使用DataGrid,可以在api文档的datagrid部分,查找到datagrid的所有属性.方法.事件,而无需关注 ...

  3. 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 ...

  4. HighCharts 详细使用及API文档说明

    一.HighCharts开发说明: HighCharts开发实际上配置HighCharts每个部分,比如配置标题(title),副标题(subtitle)等,其中每个部分又有更细的参数配置,比如标题下 ...

  5. GhostDoc:生成.NET API文档的工具 (帮忙文档)

    在 Sandcastle:生成.NET API文档的工具 (帮忙文档) 后提供另一个生成API文档的工具.   1) 准备工作 安装GhostDoc Proc. 收费的哦.... 这个工具的优势是不像 ...

  6. 使用jsdoc-toolkit来自动生成js api文档

    近来前端组小盆友开发的类库越来越多,很多情况下彼此不知道写了些什么方法,为了更好的合作提高工作效率,找了个比较好的api文档生成方法.使用jsdoc-toolkit来自动生成js api文档. 一.  ...

  7. HighCharts 具体使用及API文档说明

    一.HighCharts开发说明: HighCharts开发实际上配置HighCharts每一个部分,比方配置标题(title),副标题(subtitle)等,当中每一个部分又有更细的參数配置,比方标 ...

  8. grunt api 文档

    Grunt docs Grunt和 Grunt 插件是通过 npm 安装并管理的,npm是 Node.js 的包管理器. 安装 grunt-cli npm install grunt-cli -g 注 ...

  9. FastDFS接口API文档说明

    FastDFS接口API文档说明 时间:2012-03-17 来源:R9IT 作者:R9传奇 一.命令行的上传: 上传命令1. /usr/local/bin/fdfs_upload_file conf ...

随机推荐

  1. BZOJ2679 : [Usaco2012 Open]Balanced Cow Subsets

    考虑折半搜索,每个数的系数只能是-1,0,1之中的一个,因此可以先通过$O(3^\frac{n}{2})$的搜索分别搜索出两边每个状态的和以及数字的选择情况. 然后将后一半的状态按照和排序,$O(2^ ...

  2. [R]R下as.Date()函数的坑

    问题描述: 在本地使用as.Date()函数从POSIXct类型中提取date时,出现了日期不一致的错误.导致处理数据时,总是出问题. 还好被领导发现数据有误,不然这个bug不知道还要潜伏多久.尽管如 ...

  3. 快速安装zabbix agent并部署监控

    1.准备yum源: epel源:yum install -y zabbix22-agent 2.上传脚本: 上传脚本事先写好的监控脚本到/script/下面 3.修改配置文件:Server=10.10 ...

  4. 好吧,CSS3 3D transform变换,不过如此!

    一.写在前面的秋裤 早在去年的去年,我就大肆介绍了2D transform相关内容.看过海贼王的都知道,带D的家伙都不是好惹的,2D我辈尚可以应付,3D的话,呵呵,估计我等早就在千里之外被其霸气震晕了 ...

  5. js变量

    由于undefined和null两个值的比较是相等的,所以,未初始化的变量和赋值为null的变量会相等.这时,可以采用typeof变量的类型进行比较.但,建议还是养成编码的规范,不要忘记初始化变量. ...

  6. aspxshell下突破无可写可执行目录执行cmd

    try { var strPath:String = "c:\\windows\\temp\\cmd.exe", strUser:String = "everyone&q ...

  7. HTTP协议 (四) 缓存

    HTTP协议 (四) 缓存 阅读目录 缓存的概念 缓存的好处 Fiddler可以方便地查看缓存的header 如何判断缓存新鲜度 通过最后修改时间,判断缓存新鲜度 与缓存相关的header ETag ...

  8. javascript平时小例子②(正则表达式验证邮箱)

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>邮 ...

  9. lua函数

      一.函数 在lua中函数的调用方式和C语言基本相同. 如print(“hello world”), z=add(x+y).唯一的差别是,如果函数只有一个参数,并且该参数是字符串或者table构造器 ...

  10. eclipse.ini

    -startup plugins/org.eclipse.equinox.launcher_1..jar --launcher.library plugins/org.eclipse.equinox. ...