java 字符串缓冲区 数组类,基本数据类

1,StringBuffer

线程安全的可变字符序列.

一个类似于string的字符串缓冲区,但不能修改.

虽然在任意时间点上他都包含某种特定的序列,但通过某些方法的调用可以改变该序列的长度和内容

可在字符串缓冲区安全的应用于多个线程

构造方法

StringBuffer s = new StringBuffer();
		//构建一个不带字符的字符串缓冲区,初始容量16
		StringBuffer s1 = new StringBuffer("fengrenji");
		//构建一个指定初始化字符串内容的字符串缓冲区,容量25
		StringBuffer s2 = new StringBuffer('a');
		//构建一个不带字符,但有指定字符串缓冲区容量,容量97
		StringBuffer s3 = new StringBuffer(10);	
		//构建一个不带字符,但有指定字符串缓冲区容量,容量10
		System.out.println(s.capacity());
		System.out.println(s1.capacity());
		System.out.println(s2.capacity());
		System.out.println(s3.capacity());
		System.out.println(s1);
		//stringbuffer可直接打印
16
25
97
10

方法

无返回的方法都是修改字符序列自身的,又返回的方法对自身不做改变

append();  append可添加多种数据类型,包括基本数据类型,

s.append(true).append('c').append(new char[5],1,4).append("end");
		System.out.println(s.capacity());
		s3.append(10).append("sssgggggggggg")
		System.out.println(s3);

capacity();   返回当前容量

	System.out.println(s3.capacity());
 charAt   返回次序列中指定所引出的char值

	StringBuffer s1 = new StringBuffer("fengrenji");
		System.out.println(s1.charAt(2));
delete(int begin, int end)     deleteCharAt( index)    删除指定序列

StringBuffer s1 = new StringBuffer("fengrenji");
		s1.delete(2,4);
		System.out.println(s1);
		s1.deleteCharAt(2);
		System.out.println(s1);
indexOf(str);    /     indexOf(str  , int)     根据字符串查找首位索引

s1.indexOf("gre");
		System.out.println(s1);
		s1.indexOf("e",3);
insert (int offset , str) 插入,同append添加一样,可插入多种数据类型,包括基本类型

但不似添加只能加在末尾,insert可以加在int offset 指定的不超出范围的任何位置

StringBuffer s1 = new StringBuffer("fengrenji");
		s1.insert(2,"gre");
length()   返回长度,字符数
StringBuffer s1 = new StringBuffer("fengrenji");
		
		s1.insert(2,"gre");
		System.out.println(s1.length());
replace 替换

reverse反转

setCharAt(index , ch) 指定所引处的字符替换成ch字符

setlength() 设置字符序列的长度

subString  ()   返回新的字符序列,是当前字符的子序列,也就是不对此序列自身做处理

toString()  返回此序列中数据的字符串表现形式

Arrays

此类包含用来操作数组的各种方法,此类还包含一个允许将数组作为列表来查看的静态工厂

除非特别注明,否则如果指定数组引用为 null,则此类中的方法都会抛出 NullPointerException

sort   排序

binarySearch   二分法搜索

toString()  返回指定数组内容的字符串表现形式

int[] array = new int[] {5,9,1,4,6,2,};
		Arrays.sort(array);
		System.out.println(Arrays.toString(array));
		int num = Arrays.binarySearch(array, 4);
		System.out.println(num);

[1, 2, 4, 5, 6, 9]
2


基本数据类型类

 基本数据类型  与 包装类
 * 把基本数据类型封装一个对象

     
     
     
     
     

 * 封装成一个对象好处
 * 封装成一个类,类中就写成员方法
 * int            Integer
 * short        Short
 * long         Long    
 * byte         Byte
 * double     Double
 * float         Float
 * char         Character
 * boolean    Boolean

Integer

构造方法

Integer(int value)  int值创建   //     Integer(str)  string参数只是int值创建

Integer integer = new Integer(10);
Integer  integer2 = new Integer("123");


Integer integer = new Integer(10);
		//创建对象
		System.out.println(integer);
		//利用包装类,打印进制转换
		
		System.out.println(Integer.toBinaryString(250));
		System.out.println(Integer.toOctalString(250));
		System.out.println(Integer.toHexString(250));
		//用字符串创建
		Integer  integer2 = new Integer("123");
		System.out.println(integer2);
		//Integer转int类型
		int num = integer2.intValue();
		System.out.println(num);
		//字符串类型转int
		int parseInt = Integer.parseInt("100");
		System.out.println(parseInt);
		//1.5班后加了功能
		//自动装箱
		//自动拆箱
		//注意系统帮你拆箱和装箱的过程,其实就是帮你调用转换的方法
		Integer num1 = 10;
		int rel = num1 + 5;
		System.out.println(rel);

toBinaryString 二进制

toOctalString    八进制

toHexString   十六进制

intValue   以 int 类型返回该 Integer 的值

parseInt    将字符串参数作为有符号的十进制整数进行解析。




权限修饰符

 * 1,public(公开的)
 * 2,protect(受保护的)
 * 3,default(默认的)  就是不添加修饰符
 * 4private(私有的)

      
 本类同包类 同包子类不同包子类不同包类
public 
protect
 default
private
 *                       
 *

String及常用API

1,String 是不可变对象,lang包中String使用final修饰不可继承,底层是字符数组与针对字符数组的算法实现

一经创建就不可修改,但可以重新赋值,一个字符对应两个字节码

2,indexOf(String str)      indexOf(String str,int fromindex)    int lastindexOf(String str)

在一个字符串中检索另一个字符串,返回首字符位置,当超出范围返回-1,

3 substring(int beginIndex)    substring(int beginIndex, int lastIndex)

4trim() 去除字符串前后空白部分

5 charAt(int index)  返回字符串指定位置的字符

6 startsWith()   endsWith() 是否以指定字符串开始结尾

7toLowerCase()  toUpperCase() 大小写转换

8 String.valueOf()    new String(123)  转换成字符串类型

StringBuilder 及其API

StringBuilder 可变的字符串

增append()  插入insert()  删delete() 替换replace() 反转reverse()

正则表达式

1字符集合 

[a-z]    a -z中任意一个字符

[^a-z]除a-z任意一个字符

[a-zA-Z0-9]   其中任意一个字符

[a-z&&[^bc]]  a-z 出去bc后的任意字符一个

2预定义字符集

.  任意一个字符

\d 任意数字字符 相当于[0-9]   \D 非数字字符相当于[^0-9]

\w 任意单词字符,相当于[a-zA-Z0-9]     \W非单词字符

\s 空白字符              \S非空字符

3,数量词

X?   0个或1个

X*   0个或任意多个

X+   1个或任意多个

X{n}  n个           X{n,}n到任意多个    X{n,m}  n到m个

split(正则表达式)   拆分字符串

replaceAll("正则表达式","String")   字符串 替换

Object

java继承结构中顶端类,所有类的父类Object,Object类的引用对象可以指向任何类型对象

重写toString

java语言中很多地方会默认调用对象的toString方法

字符串+ 对象    自动调用对象toString 方法

Sout(任意对象  )   自动调用

如果不重写toString方法将默认继承使用Object类的toString方法    逻辑为 类名@哈希码

jdk的标准类库中很多类都重写了tpString方法

自定义类建议重写toString方法

重写equals方法















  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值