Java基础笔记-String类2
StringBuffer
特点:
- 是字符串缓冲区.
- 是一个容器,其长度可变,可以操作添加多个数据类型.
- 最后通过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.
提高效率
2.
提高安全性
简化书写
基础数据类型对象包装类:
小写是基本数据类型 大写开头是类
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的更多相关文章
- Java基础笔记-String类
String 类(被final修饰) 字符串是一种特殊的对象,一旦字符串被初始化就不可以被改变了.(内容不变) 例如: String s = “abc”; String s1 = new Stri ...
- Java基础之String类
String类 字符串是不可变的,对其做的任何改变,会生成一个对象,不会改变有原有对象. ==和equals() String s1 = "good"; String s2 = & ...
- Java基础教程——String类
String类 Java程序中的所有字符串字面值(如 "abc" )都是String的实例 字符串是常量(因为 String 对象是不可变的,所以可以共享) 字符串的本质是字符数组 ...
- Java 基础之 String 类
String String 被声明为 final,因此不能被继承.(Integer 等包装类也不能被继承) 在 java8 中,String 内部使用 char 数组 来存储数据 public fin ...
- java学习笔记 --- String类
一.定义 就是由多个字符组成的一串数据.也可以看成是一个字符数组. 注意: 1.字符串是常量:它们的值在创建之后不能更改.为什么? 意思就是说字符串确定了,就会在常量池中生成这个字符串. 所以说它的值 ...
- Java学习笔记——String类常用方法
所谓的字符串就是对数组的包装,所以字符串内容无法进行更改.String在JDK1.8以前保存的是字符数组:private final char value[]; 而在JDK1.9之后保存的是字节数组: ...
- Java入门 - 语言基础 - 14.String类
原文地址:http://www.work100.net/training/java-string.html 更多教程:光束云 - 免费课程 String类 序号 文内章节 视频 1 概述 2 创建字符 ...
- Java基础笔记 – Annotation注解的介绍和使用 自定义注解
Java基础笔记 – Annotation注解的介绍和使用 自定义注解 本文由arthinking发表于5年前 | Java基础 | 评论数 7 | 被围观 25,969 views+ 1.Anno ...
- 【转】Java基础笔记 – 枚举类型的使用介绍和静态导入--不错
原文网址:http://www.itzhai.com/java-based-notes-introduction-and-use-of-an-enumeration-type-static-impor ...
随机推荐
- IBatis——(一)
IBatis是持久层的框架,也就是我们说的Dao层框架,关注数据库操作以及和Java对象之间的关联,我们将这样的框架也称之为ORM(Object/Relaction Mapping)框架.而这里映射的 ...
- VF(动态规划)
VF 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 Vasya is the beginning mathematician. He decided to make a ...
- 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 ...
- 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& ...
- 关于使用Html5 canvas、 map、jquery构造不规则变色点击区域 热点区域
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Eclipse开发Android项目安装配置
在windows安装Android的开发环境不简单也说不上算复杂,本文写给第一次想在自己Windows上建立Android开发环境投入Android浪潮的朋友们,为了确保大家能顺利完成开发环境的搭建, ...
- C# Process.Start()方法详解(转)
C# Process.Start()方法详解 System.Diagnostics.Process.Start(); 能做什么呢?它主要有以下几个功能: 1.打开某个链接网址(弹窗). 2.定位打开某 ...
- 【.NetRemoting-3】2015.09.18
[Remoting程序的基本实现] [一]服务程序集 [1]服务对象必须要求继承[MBR,MarshalByRefObject] [二]服务端应用程序 [1]注册通道 [两种类型的通道] [A]发送请 ...
- python socket编程学习笔记2
server.py: [服务端步骤]: 1.创建socket对象 2.将socket绑定到指定地址(bind) 3.监听连接请求(listen) 4.等待客户请求(accept) 5.处理请求(服务 ...
- CURL 和LIBCURL C++代码 上传本地文件,好不容易碰到了这种折腾我几天的代码
解决了什么问题:curl在使用各种方式上传文件到服务器.一般的文件上传是通过html表单进行的,通过CURL可以不经过浏览器,直接在服务器端模拟进行表单提交,完成POST数据.文件上传等功能. 服务器 ...