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 ...
随机推荐
- Android学习总结——SharedPreferences
SharePreferences存储方式,只是轻量级数据存储,xml格式的数据显示方式.简单存储步骤如下:一:获取SharePreferences对象1.SharedPreferences pref ...
- Django 从零開始
1.下载安装django 方法1: pip install Django==1.6.5 測试是否成功安装 : ~$ python import django ~$ (1, 6, 5, 'final', ...
- Animate.css 教程
animate.css 是一个有趣,酷炫的,跨浏览器的动画库,你可以将它用于你的项目中.不管是主页,滑动切换,又或者是其它方面,你都可以通过它来制作出惊人的效果. 基本用法 引入CSS文件 这个对你来 ...
- hibernate某些版本(4.3)下报错 NoSuchMethodError: javax.persistence.Table.indexes()
其实本来没啥大问题,但到网上查的时候发现了一些误人子弟的说法,所以还是记下来吧. 现象: hibernate从低版本升级到某一个版本时(我们是升到4.3.10)时,在程序启动时会报错: java.la ...
- cookie 和 session 基本使用 以及 封装
Cookie: 是一小段文本信息,用户请求页面的时候,在浏览器和服务器之间传递.用户每次访问的时候都会记录cookie,cookie里可以包含用户信息,浏览的历史记录等等:Cookie是由服务器端生成 ...
- SQL创建登陆用户和赋予权限
主要针对Sql server 2005及以上,创建简单用户名和密码所引起的密码简单的问题.解决方案 CHECK_POLICY = OFF; --强制密码策略 use MusicStore --创建登陆 ...
- HDU 2653 - Waiting ten thousand years for Love
首先,对于一个 '@' 飞上去,飞下来都要耗1点魔力,所以是两点= = 然后站在同一格 魔力可能不同,所以要增加一维. 还有当前搜到的不一定是最小. 别的也没啥. #include <iostr ...
- c++ iostream 相关使用
索引: C++的iostream标准库介绍+使用详解(转) iostream格式化输出 c++ 字符串流 sstream(常用于格式转换) 关于#include <iomanip>中iom ...
- auto 和 decltype (C++11 新增)
红色字体为个人推断,可信度自辨. 蓝色字体为重点. auto类型说明符:使用auto时,编译器会分析表达式,并自动推算出变量所属类型.*auto变量必须有初值 原理:编译器通过 初值 来判断auto变 ...
- PHP截取汉字乱码问题解决方法mb_substr函数的应用
首先 1.确保你的Windows/system32下有php_mbstring.dll这个文件,没有就从你Php安装目录extensions里拷入Windows/system32里面. 2.在wind ...