StringBuffer

特点:

  1. 是字符串缓冲区.
  2. 是一个容器,其长度可变,可以操作添加多个数据类型.
  3. 最后通过toString方法变成字符串.

被final锁修饰,因此不能被继承.

存储:

方法1:append() 添加数据到缓冲区.

返回类型:StringBuffer

方法: append(指定数据)  将指定数据添加到已有数据的结尾.

方法2:insert(index,数据内容)

返回类型:StringBuffer

方法: insert(index,数据内容) 将数据内容插入到指定的index位置中去.

删除:

方法1: delete(int start,int end) 删除缓冲区的数据.

返回类型:StringBuffer

方法: delete(int start,int end) 将数据从start开始到end的位置删除

包含头不包含尾部,即包含start的位置,不包含end的位置.

方法2: deletecharAt(index)  删除指定index位置的字符

替换:

方法1: replace(位置1,位置2,(String类型的)替换内容)

返回类型为StringBuffer

方法: replace(位置1,位置2,(String类型的)替换内容)

将数据从位置1到位置2(不包含位置2)的数据替换成要要替换的字符串内容.

方法2: setCharAt(位置,要替换的内容)

返回类型 void

方法: setCharAt(int位置,char要替换的内容) 将数据从指定的位置用替换的字符内容.

反转: reverse() 返回类型StringBuffer.

有关的代码实例:

 class StringBufferDemo
{
public static void main(String args[])
{
//function_add();
//function_del();
StringBuffer sb = new StringBuffer("abcdefg");
char [] ch = new char[];
sb.getChars(,,ch,);
for(int i = ; i <=ch.length; i++)
{
printer("ch ["+i+"]="+ch[i]+";");
}
}
public static void function_del()
{
StringBuffer sb = new StringBuffer("abcdefg"); // sb.delete(0,sb.length()); //清空缓冲区. sb.delete(,); //删除缓冲区中字符串位置2到5的数据,不包含位置5.
printer(sb.toString());
// sb.delete(1,2);
sb.deleteCharAt(); //删除一个数据,等价于上面的代码: sb.delete(1,2); printer(sb.toString()); }
public static void function_add()
{
StringBuffer sb = new StringBuffer();
sb.append("abc").append("def").append(true).append(); //StringBuffer sb1 = sb.append(34); sb.insert(,"QQQ"); //将字符串"QQQ"从位置1中插入到缓冲区的数据中. // sb.insert(100,"QQQ"); 编译的时候会出现角标越界的异常.
//printer("sb==sb1?:"+(sb==sb1)); printer(sb.toString());
//printer(sb1.toString());
} public static void printer(String str)
{
System.out.println(str);
}
}

JDK1.5版本以后出现了StringBuilder

StringBuffer是线程同步.

StringBuidlder是线程不同步,单线程的时候效率高.快捷.

以后开发建议使用StringBuilder.

JDK升级一般三个方面:

  1. 1.  提高效率
  2. 2.  提高安全性
  3. 简化书写

基础数据类型对象包装类:

小写是基本数据类型  大写开头是类

int    Integer

byte   Byte

float   Float

double   Double

boolean   Boolean

char       Character

short    Short

long    Long

1.获取整型变量的最大值: Integer.MAX_VALUE

例如:printer("int max = "+Integer.MAX_VALUE);

最常见应用为:

将基本数据类型转成字符串.

方法1:  基本数据类型+””

方法2:  基本数据类型类.toString(基本数据类型)

例如: Integer.toString(34); 将整数34转成字符串类型的”34”.

将字符串转成基本数据类型

将一个字符串转成整数:

(静态调用方式)

Integer.parseInt(“32”); 将字符串”32”转成整数 32.

格式为:

xxx a = Xxx.parseXxx(String);

例如: int a = Integer.parseInt(“123”);

非静态方法转换 (对象调用方式)

Integer a = new Integer(“123”);

int num = a.intValue();

进制之间转换:

十进制转成其他进制:

Integer.toBinayString(要转的数); //转成二进制

Integer.toHexString(要转的数);   //转成十六进制

Integer.toOctalString(要转的数); //转成八进制

其他进制转成十进制:

格式:

xxx a = Xxx.parseXxx(要转换的数,要转的进制)

例如: int a = Integer.parseInt(“110”,2); 将110用二进制转成十进制数.

括号中的数和转换的进制需要相互对应.不然的话编译会有异常发生.

相关的简单代码实例:

 class IntegerDemo
{
public static void main(String args[])
{
//获取整型变量的最大值
printer("int max = "+Integer.MAX_VALUE); int num = Integer.parseInt(""); //将字符串"123"转成整数123.
num = num +; //将整数4和整数123先加
printer("num ="+num); //输出的结果为127. printer(Integer.toBinaryString(-));//将十进制数转成二进制数
printer(Integer.toHexString()); //将十进制数转成十六进制数
printer(Integer.toOctalString()); //将十进制数转成八进制数 int a = Integer.parseInt("",); //将二进制数110按2进制转换成十进制数 // 二进制数110对应的十进制数是6.
printer("a="+a); //结果a=6. } public static void printer(String str)
{
System.out.println(str);
} }
 class IntegerDemo1
{
public static void main(String args[])
{
//function();
//Integer a = new Integer(4);
Integer a = ; //自动装箱
a=a+; //a+2中的a相当于做了a.intValue()操作,a自动拆箱变成了int类型.然后和2进行运算,在将和进行自动的装箱操作赋值给a.
printer("a="+a); Integer x = ;
Integer y = ;
printer("x==y:?"+(x==y)); //结果是false. Integer m = ;
Integer n = ;
printer("m==n:?"+(m==n)); //结果为true. m 和n指向的是同一个Integer对象
//因为当数值在byte范围之内的时候,对于JDK1.5以后的新版本,如果该数值已经存在,不会在开辟新的空间. }
public static void function()
{
Integer x = new Integer("");
Integer y = new Integer();
printer("x==y:?"+(x==y));
printer("x.equals(y):?"+x.equals(y));
}
public static void printer(String str)
{
System.out.println(str);
} }

Java基础笔记-String类2的更多相关文章

  1. Java基础笔记-String类

    String 类(被final修饰) 字符串是一种特殊的对象,一旦字符串被初始化就不可以被改变了.(内容不变) 例如: String  s = “abc”; String  s1 = new Stri ...

  2. Java基础之String类

    String类 字符串是不可变的,对其做的任何改变,会生成一个对象,不会改变有原有对象. ==和equals() String s1 = "good"; String s2 = & ...

  3. Java基础教程——String类

    String类 Java程序中的所有字符串字面值(如 "abc" )都是String的实例 字符串是常量(因为 String 对象是不可变的,所以可以共享) 字符串的本质是字符数组 ...

  4. Java 基础之 String 类

    String String 被声明为 final,因此不能被继承.(Integer 等包装类也不能被继承) 在 java8 中,String 内部使用 char 数组 来存储数据 public fin ...

  5. java学习笔记 --- String类

    一.定义 就是由多个字符组成的一串数据.也可以看成是一个字符数组. 注意: 1.字符串是常量:它们的值在创建之后不能更改.为什么? 意思就是说字符串确定了,就会在常量池中生成这个字符串. 所以说它的值 ...

  6. Java学习笔记——String类常用方法

    所谓的字符串就是对数组的包装,所以字符串内容无法进行更改.String在JDK1.8以前保存的是字符数组:private final char value[]; 而在JDK1.9之后保存的是字节数组: ...

  7. Java入门 - 语言基础 - 14.String类

    原文地址:http://www.work100.net/training/java-string.html 更多教程:光束云 - 免费课程 String类 序号 文内章节 视频 1 概述 2 创建字符 ...

  8. Java基础笔记 – Annotation注解的介绍和使用 自定义注解

    Java基础笔记 – Annotation注解的介绍和使用 自定义注解 本文由arthinking发表于5年前 | Java基础 | 评论数 7 |  被围观 25,969 views+ 1.Anno ...

  9. 【转】Java基础笔记 – 枚举类型的使用介绍和静态导入--不错

    原文网址:http://www.itzhai.com/java-based-notes-introduction-and-use-of-an-enumeration-type-static-impor ...

随机推荐

  1. IBatis——(一)

    IBatis是持久层的框架,也就是我们说的Dao层框架,关注数据库操作以及和Java对象之间的关联,我们将这样的框架也称之为ORM(Object/Relaction Mapping)框架.而这里映射的 ...

  2. VF(动态规划)

    VF 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 Vasya is the beginning mathematician. He decided to make a ...

  3. cocos2d-x-2.2.5项目创建--命令行创建

    Gavin:downloads DavidLik$ cd cocos2d-x-2.2.5/ Gavin:cocos2d-x-2.2.5 DavidLik$ cd tools/ Gavin:tools ...

  4. Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent

    修改pom.xml文件,添加以下属性 <project> ... <properties> <project.build.sourceEncoding>UTF-8& ...

  5. 关于使用Html5 canvas、 map、jquery构造不规则变色点击区域 热点区域

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. Eclipse开发Android项目安装配置

    在windows安装Android的开发环境不简单也说不上算复杂,本文写给第一次想在自己Windows上建立Android开发环境投入Android浪潮的朋友们,为了确保大家能顺利完成开发环境的搭建, ...

  7. C# Process.Start()方法详解(转)

    C# Process.Start()方法详解 System.Diagnostics.Process.Start(); 能做什么呢?它主要有以下几个功能: 1.打开某个链接网址(弹窗). 2.定位打开某 ...

  8. 【.NetRemoting-3】2015.09.18

    [Remoting程序的基本实现] [一]服务程序集 [1]服务对象必须要求继承[MBR,MarshalByRefObject] [二]服务端应用程序 [1]注册通道 [两种类型的通道] [A]发送请 ...

  9. python socket编程学习笔记2

     server.py: [服务端步骤]: 1.创建socket对象 2.将socket绑定到指定地址(bind) 3.监听连接请求(listen) 4.等待客户请求(accept) 5.处理请求(服务 ...

  10. CURL 和LIBCURL C++代码 上传本地文件,好不容易碰到了这种折腾我几天的代码

    解决了什么问题:curl在使用各种方式上传文件到服务器.一般的文件上传是通过html表单进行的,通过CURL可以不经过浏览器,直接在服务器端模拟进行表单提交,完成POST数据.文件上传等功能. 服务器 ...