因为String创建的对象都是常量,在对字符串进行拼接操作,每次拼接都会构建String对象,效率低,也耗费内存。而StringBuffer类和StringBuilder类解
决了这个问题,因为StringBuffer类和StringBuilder类会在原始的对象上进行操作,节省内存空间。
StringBuffer实际上是构造一个不带字符的字符缓冲区,这个缓冲区有容量,可以向字符缓冲区添加字符串,字符串的长度可变。
StringBuider与StringBuffer一样,但是StringBuilder效率高,线程不安全,而StringBuffer效率低线程安全。
一般字符串数据少的话,就用String创建对象,数据多单线程使用StringBuilder,数据多多线程使用StringBuffer。
StringBuffer构造方法:
public StringBuffer(): 无参构造方法
public StringBuffer(int capacity): 指定容量的字符串缓冲区对象
public StringBuffer(String str): 指定字符串内容的字符串缓冲区对象
StringBuffer的方法:
public int capacity():返回当前容量。 理论值
public int length():返回长度(字符数)。 实际值
int arr[]={15,24,25,521,5544};for(int j =0; j < arr.length; j++){for(int i =0; i < arr.length -1- j; i++){if(arr[i]< arr[i +1]){int t = arr[i];
arr[i]= arr[i +1];
arr[i +1]= t;}}}
选择排序
从0索引开始,用元素依次与后面的元素比较,一轮比较后,最小的元素就在最前面。
for(int index =0; index < arr.length-1; index++){for(int i = index+1; i < arr.length-1; i++){if(arr[index]< arr[i]){int t = arr[i];
arr[i]= arr[i +1];
arr[i +1]= t;}}}
int ar[]={12,65,34,298,79,-24,45};for(int i =1; i <ar.length-1; i++){int j=i;while(j>0&&ar[j]<ar[j-1]){//进行判断如果j>0且后面元素比前面小,就会进行换位;int t=ar[j-1];
ar[j-1]=ar[j];
ar[j]=t;
j--;//控制j索引值,使j表示的是要比的变量}}
为了对基本类型有更多的操作,java为每一种基本类型提供了对应的类类型。
基本类型和包装类的对应
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean
Integer类
Integer 类在对象中包装了一个基本类型 int 的值,
该类提供了多个方法,能在 int 类型和 String 类型之间互相转换,
还提供了处理 int 类型时非常有用的其他一些常量和方法
构造方法
public Integer(int value)
public Integer(String s)//形参是一个字面上是数字的字符串,不然会出现数字格式化异常