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)的更多相关文章

  1. java学习笔记(13) —— google GSON 实现json转化方法

    1.配置struts.xml <action name="getGsonAction" class="com.test.action.json.GetGsonAct ...

  2. Java学习笔记-13.创建窗口和程序片

    1.init()方法:程序片第一次被创建,初次运行初始化程序片时调用. start()方法:每当程序片进入web浏览器中,并且允许程序片启动他的常规操作时调用(特殊的程序片被stop()关闭):同样在 ...

  3. Java学习笔记13(面向对象六:super)

    在创建子类对象时,父类的构造方法会先执行,因为子类中所有构造方法的第一行有默认的隐式super();语句 注意:父类构造方法第一行也有隐式的super(); 所有类都有一个"祖宗类" ...

  4. Java学习笔记13(equals()方法;toString()方法)

    equals()方法: equals方法是Object类中的方法:Object是所有类的祖宗,所以所有类都有equals()方法: boolean equals(Object obj); equals ...

  5. 0032 Java学习笔记-类加载机制-初步

    JVM虚拟机 Java虚拟机有自己完善的硬件架构(处理器.堆栈.寄存器等)和指令系统 Java虚拟机是一种能运行Java bytecode的虚拟机 JVM并非专属于Java语言,只要生成的编译文件能匹 ...

  6. 0028 Java学习笔记-面向对象-Lambda表达式

    匿名内部类与Lambda表达式示例 下面代码来源于:0027 Java学习笔记-面向对象-(非静态.静态.局部.匿名)内部类 package testpack; public class Test1{ ...

  7. 《Java学习笔记(第8版)》学习指导

    <Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...

  8. 20145330第十周《Java学习笔记》

    20145330第十周<Java学习笔记> 网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的位置,或者接收到指定的数据,这个就 ...

  9. 20145330第九周《Java学习笔记》

    20145330第九周<Java学习笔记> 第十六章 整合数据库 JDBC入门 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JD ...

  10. Java学习笔记4

    Java学习笔记4 1. JDK.JRE和JVM分别是什么,区别是什么? 答: ①.JDK 是整个Java的核心,包括了Java运行环境.Java工具和Java基础类库. ②.JRE(Java Run ...

随机推荐

  1. Coursera在线学习---第十节.大规模机器学习(Large Scale Machine Learning)

    一.如何学习大规模数据集? 在训练样本集很大的情况下,我们可以先取一小部分样本学习模型,比如m=1000,然后画出对应的学习曲线.如果根据学习曲线发现模型属于高偏差,则应在现有样本上继续调整模型,具体 ...

  2. pam会话函数详解

    pam会话函数详解 http://www.xuebuyuan.com/2223069.html http://blog.itpub.net/15480802/viewspace-1406088/ ht ...

  3. 自己动手一步步安装Linux系统

    自己动手一步步安装Linux系统 http://502245466.blog.51cto.com/7559397/1291910/

  4. Centos_Lvm expand capacity without restarting CentOS

    Rescan the new disk(/dev/sdb): #ls /sys/class/scsi_host/ host0 host1 host2 [root@db210_13:56:14 /dat ...

  5. 【hihocoder】sam-3

    把Parent Tree拓扑排序下,然后从下往上合并. 具体的看官方题解啦~ #include<bits/stdc++.h> #define N 1000010 using namespa ...

  6. 如何用jQuery获得radio的值

    如何获得radio的值,在网上查了一下,下面总结几种解决方法,. 1.获取选中值: $('input:radio:checked').val(): $("input[type='radio' ...

  7. 无缝滚动Js

    <html> <body> <div style="width: 190px; height: 127px; overflow: hidden; font-si ...

  8. [New learn] 手势

    1.简介 我们经常会在设备上查看图片等, 也会经常将图片通过手指的捏合打开来缩小和方法图片.这就是ios中的手势功能在起作用. 那么手势好像也是一种touch事件,那和UIResponder中定义的t ...

  9. Django 项目CRM总结

    0. 项目说明: 1. 销售自动分配客户资源: 给销售分配权重及承单数量,创建权重表,通过销售权重进行从大到小进行排序 以承单数循环添加到列表,承单数是多少列表添加就添加多少次 考虑到如果服务重启,或 ...

  10. mysql 主从 同步原理及配置

    一.在mssql 里头实现同步镜像,只能主库用而镜像库不能同时用,而mysql 主从同步可以实现 数据库的读写分离,主库负责 update insert delete ,从库负责select 这样一来 ...