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 ...
随机推荐
- 《Applying Deep Learning to Answer Selection: A Study And an Open Task》文章理解小结
本篇论文是2015年的IBM watson团队的. 论文地址: 这是一篇关于QA问题的一篇论文: 相关论文讲解1.https://www.jianshu.com/p/48024e9f7bb22.htt ...
- uboot makefile构建分析
前言 几年前分析过uboot的构建及启动过程,做了笔记,但最终没有转为文章.这次又有机会开发嵌入式产品了(之前一年多都是在搞x86 linux),看了下uboot的构建过程,觉得有必要写下整个分析过程 ...
- Educational Codeforces Round 23 补题小结
昨晚听说有教做人场,去补了下玩. 大概我的水平能做个5/6的样子? (不会二进制Trie啊,我真菜) A. 傻逼题.大概可以看成向量加法,判断下就好了. #include<iostream> ...
- 2017多校第8场 HDU 6133 Army Formations 线段树合并
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6133 题意:给你一棵n个节点的二叉树,每个节点有一个提交任务的时间,每个节点总的提交任务的罚时为:提交 ...
- HTML+CSS+JS(+Vue)写一个通讯录组件
求各位大大的Star(*/ω\*). 没有录屏,所以上传的是图片.后面已补充录屏效果. 效果:(主要是参考小米Note3的通讯录的效果做的) 主要功能: 1. 滚动后,通讯录的模块标题会固定在顶部(图 ...
- javascript 实现图片轮播和点击切换功能
图片轮播是网页上一个比较常见的功能,下面我们来实现他吧 原理很简单: 1:固定的区域,所有的图片重叠,一次只能显示一张图片 2:通过改变图片的zIndex属性改变显示的图片,就可以达到切换的效果了 & ...
- Codeforces 877C Slava and tanks(思维)
题目链接:http://codeforces.com/problemset 题目大意:有n个格子,某些格子里可能有一个或多个坦克,但不知道具体位置,每个坦克被轰炸一次就会移动到相邻的格子里(第1个格子 ...
- 二:Storm的配置项说明
配置项 配置说明 storm.zookeeper.servers ZooKeeper服务器列表 storm.zookeeper.port ZooKeeper连接端口 storm.local.dir s ...
- Efficient Graph-Based Image Segmentation
转:http://blog.csdn.net/asongoficeandfire/article/details/8434799 Efficient Graph-Based Image Segment ...
- Lucene.Net无障碍学习和使用:搜索篇
一.初步认识搜索 先从上一篇示例代码中我们摘录一段代码看看搜索的简单实现: private TopDocs Search(string keyword,string field) { TopDocs ...