Java学习笔记(13)
StringBuffer
增加
append(boolean b) 可以添加任意类型的数据到容器中
insert(int offset,boolean b) 指定插入的索引值,插入对应的内容 (offset可以理解为想插入的东西在插入后的索引值为多少,也就是想插入地方右区间的索引值)
删除
delete(int start ,int end) 根据指定的开始与结束的索引值删除对应的内容
deleteCharAt(int index) 根据指定的索引值删除一个字符
修改
replace(int start,int end,String str) 根据指定的开始与结束索引值替代成指定的内容
reverse() 翻转字符串缓冲类的内容。 abc————>cba
setCharAt(int index,char ch) 把指定索引值的字符替换指定的字符。
subString(int start,int end) 根据指定的索引值截取子串
ensureCapacity(int minimumCapacity) 指定StringBuffer内部的字符数组长度的。
查看
indexOf(String str,int fromIndex) 查找指定字符串第一次出现的索引值,并且指定开始查找的位置
capacity() 查看当前字符数组的长度
charAt(int index) 根据指定的索引值查找字符
lastIndexOf(String str) 查找指定字符最后一次出现的索引值
length() 存储的字符个数
toString() 把字符串缓冲类的内容转换成字符串返回
判断
public static void main(String[] args) {
// TODO Auto-generated method stub
//先使用StringBuffer无参的构造函数创建一个字符串缓冲类。
StringBuffer sb=new StringBuffer();
sb.append("abc");
System.out.println("字符串缓冲类的内容:"+sb);
/* 添加
sb.append(true);
sb.append(3.14f);
System.out.println("字符串缓冲类的内容:"+sb);
*/
//插入
sb.insert(2, "小明");
System.out.println("字符串缓冲类的内容:"+sb);
//删除
sb.delete(2, 4); //删除的时候也是包头不包尾的
System.out.println("字符串缓冲类的内容:"+sb);
sb.insert(2, "小明");
sb.deleteCharAt(3);
System.out.println("字符串缓冲类的内容:"+sb);
}
结果:
字符串缓冲类的内容:abc
字符串缓冲类的内容:ab小明c
字符串缓冲类的内容:abc
字符串缓冲类的内容:ab小c
public static void main(String[] args) {
// TODO Auto-generated method stub
//先使用StringBuffer无参的构造函数创建一个字符串缓冲类。
StringBuffer sb=new StringBuffer();
sb.append("abc");
System.out.println("字符串缓冲类的内容:"+sb);
/* 添加
sb.append(true);
sb.append(3.14f);
System.out.println("字符串缓冲类的内容:"+sb);
*/
//插入
sb.insert(2, "小明");
System.out.println("字符串缓冲类的内容:"+sb);
//删除
/*sb.delete(2, 4); //删除的时候也是包头不包尾的
System.out.println("字符串缓冲类的内容:"+sb);
sb.insert(2, "小明");
sb.deleteCharAt(3);
System.out.println("字符串缓冲类的内容:"+sb);
*/
//修改
sb.replace(2, 4, "陈小狗");
System.out.println("字符串缓冲类的内容:"+sb);
sb.reverse();
System.out.println("字符串缓冲类的内容:"+sb);
sb.reverse();
sb.setCharAt(3, '红');
System.out.println("字符串缓冲类的内容:"+sb);
System.out.println("字符串的内容:"+sb.substring(2, 4));
sb.ensureCapacity(20);
}
结果:
字符串缓冲类的内容:abc
字符串缓冲类的内容:ab小明c
字符串缓冲类的内容:ab陈小狗c
字符串缓冲类的内容:c狗小陈ba
字符串缓冲类的内容:ab陈红狗c
字符串的内容:陈红
public static void main(String[] args) {
// TODO Auto-generated method stub
StringBuffer sb=new StringBuffer();
sb.append("abcjavaabc");
//查找
System.out.println("索引值为:"+sb.indexOf("abc", 0));
System.out.println("索引值为:"+sb.indexOf("abc", 3));
//sb.ensureCapacity(20);
sb.append("javajava");
System.out.println("查看字符数组的长度:"+sb.capacity());
System.out.println("存储字符的个数:"+sb.length());
System.out.println("根据指定的索引值查找字符:"+sb.charAt(2));
System.out.println("转换成字符串输出:"+sb.toString());
}
结果:
索引值为:0
索引值为:7
查看字符数组的长度:34
存储字符的个数:18
根据指定的索引值查找字符:c
转换成字符串输出:abcjavaabcjavajava
StringBuffer与StringBuilder的相同处与不同处:
相同点:
1.两个类都是字符串缓冲类
2.两个类的方法与实现都是一致的
不同点:
1.StringBuffer是线程安全的,操作效率低,StringBuilder是线程非安全的,操作效率高
2.StringBuffer是jdk1.0出现的,StringBuilder是jdk1.5的时候出现的
推荐使用:StringBuilder,因为操作效率高。
System类 系统类 主要用于获取系统的属性数据
System类常用的方法:
arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
import java.util.*;
public class Demo1 {
/*
arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
src - 源数组。
srcPos - 源数组中的起始位置。
dest - 目标数组。
destPos - 目标数据中的起始位置。
length - 要复制的数组元素的数量。
* */
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] srcArr= {10,12,14,16,19};
//把srcArr数组的元素拷贝到destArr数组中
int[] destArr=new int[4];
System.arraycopy(srcArr, 1, destArr, 0, 4);
System.out.println("目标数组的元素:"+Arrays.toString(destArr));
} } 结果:
目标数组的元素:[12, 14, 16, 19]
currentTimeMillis() 获取当前系统时间 重点
System.out.println("当前的系统时间是:"+System.currentTimeMillis());
结果:
当前的系统时间是:1549623586306
exit(int status) 退出jvm 如果参数是0表示正常退出jvm,非0表示异常退出jvm 0或者非0的数据都可以退出jvm,对于用户而言没有任何区别 一般
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] srcArr= {10,12,14,16,19};
//把srcArr数组的元素拷贝到destArr数组中
int[] destArr=new int[4];
System.arraycopy(srcArr, 1, destArr, 0, 4);
System.exit(0); //jvm退出... 0或者非0的数据都可以退出jvm。对于用户而言没有任何区别
System.out.println("目标数组的元素:"+Arrays.toString(destArr));
System.out.println("当前的系统时间是:"+System.currentTimeMillis());
}
结果:
(编程习惯:try块中一般传0,catch中一般传非0,其实传什么也可以达到效果)
Java学习笔记(13)的更多相关文章
- java学习笔记(13) —— google GSON 实现json转化方法
1.配置struts.xml <action name="getGsonAction" class="com.test.action.json.GetGsonAct ...
- Java学习笔记-13.创建窗口和程序片
1.init()方法:程序片第一次被创建,初次运行初始化程序片时调用. start()方法:每当程序片进入web浏览器中,并且允许程序片启动他的常规操作时调用(特殊的程序片被stop()关闭):同样在 ...
- Java学习笔记13(面向对象六:super)
在创建子类对象时,父类的构造方法会先执行,因为子类中所有构造方法的第一行有默认的隐式super();语句 注意:父类构造方法第一行也有隐式的super(); 所有类都有一个"祖宗类" ...
- Java学习笔记13(equals()方法;toString()方法)
equals()方法: equals方法是Object类中的方法:Object是所有类的祖宗,所以所有类都有equals()方法: boolean equals(Object obj); equals ...
- 0032 Java学习笔记-类加载机制-初步
JVM虚拟机 Java虚拟机有自己完善的硬件架构(处理器.堆栈.寄存器等)和指令系统 Java虚拟机是一种能运行Java bytecode的虚拟机 JVM并非专属于Java语言,只要生成的编译文件能匹 ...
- 0028 Java学习笔记-面向对象-Lambda表达式
匿名内部类与Lambda表达式示例 下面代码来源于:0027 Java学习笔记-面向对象-(非静态.静态.局部.匿名)内部类 package testpack; public class Test1{ ...
- 《Java学习笔记(第8版)》学习指导
<Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...
- 20145330第十周《Java学习笔记》
20145330第十周<Java学习笔记> 网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的位置,或者接收到指定的数据,这个就 ...
- 20145330第九周《Java学习笔记》
20145330第九周<Java学习笔记> 第十六章 整合数据库 JDBC入门 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JD ...
- Java学习笔记4
Java学习笔记4 1. JDK.JRE和JVM分别是什么,区别是什么? 答: ①.JDK 是整个Java的核心,包括了Java运行环境.Java工具和Java基础类库. ②.JRE(Java Run ...
随机推荐
- 【Python项目】使用Face++的人脸识别detect API进行本地图片情绪识别并存入excel
准备工作 首先,需要在Face++的主页注册一个账号,在控制台去获取API Key和API Secret. 然后在本地文件夹准备好要进行情绪识别的图片/相片. 代码 介绍下所使用的第三方库 ——url ...
- 天气api接口
python调用天气api接口: http://www.sojson.com/open/api/weather/json.shtml?city=北京 http://www.sojson.com/blo ...
- 【bzoj4896】补退选
傻逼题. 每个点维护下vector,然后随便做. #include<bits/stdc++.h> ; using namespace std; typedef long long ll; ...
- nginx学习时使用EditPuls编辑conf.xml
一.Nginx简介:是一个使用c语言开发的高性能的http服务器及反向代理服务器 二.由于在linux环境中使用vim修改配置文件相对困难.为此,我们可以借助EditPlus将虚拟机上面的目录引用到E ...
- 根据日期查询年龄js
function ages(str) { var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/); if(r==null)return f ...
- git配置服务器版仓库
1.git 可以使用四种主要的协议来传输数据:本地传输,SSH 协议,Git 协议和 HTTP 协议.现在使用360同步盘同步一个网络的仓库管理. 2.查看设置好的360同步盘的文件 3.创建空的仓库 ...
- Guice2.0的变化——第一部分 新的特性(上)
http://superleo.iteye.com/blog/314816 Private Modules PrivateModules 用于创建并不需要对外可见的绑定对象.当然,这样会使得封装变得更 ...
- Nuget私服使用
首先前提是师父已经搭好私服环境了(怎么搭建参考https://www.cnblogs.com/liupengblog/archive/2012/09/10/2678508.html). 然后在vs中打 ...
- 打印之Lodop
前序 前面遇到一个问题:在线打印合同.通过各方查找资料和请教他人,终于完美的解决了这个问题.其中的解决方案,可以查看:http://www.cnblogs.com/zcy-xy/p/4290436.h ...
- mangeto 清除分类 产品 客户
分类: SET FOREIGN_KEY_CHECKS=0; TRUNCATE TABLE `catalog_category_entity`; TRUNCATE TABLE `catalog_cate ...