16.常用类

Stringbuffer

1.字符串的缓冲区(容器)
2.长度是可以变化的
3.可以存储任意数据类型,内部先将数据转成字符串再存储
可以 添加,插入,修改,删除
例:

public static void main(String[] args) {
		StringBuffer sb = new StringBuffer();//默认初始容量,16,如果存储数据超过了16,自动开辟新的空间,是原来长度的一倍
		//添加数据 append(追加)
		sb.append("abc");
		sb.append(true);
		sb.append(1);
		//将toString方法进行了重写
		//想要快速获取方法的返回值   使用ctrl+1快速得到方法的返回值
//		StringBuffer a = sb.append(false);
//		a.append(b);
//		方法调用链
		String str = sb.append("a").append("a").append(false).toString();
//		添加数据,不断的添加数据之后,要对缓冲区的最后数据做操作,必须要转成字符串类型
		
		System.out.println(str);
		//插入数据
		sb.insert(2, "你吃饭了吗");
		
		System.out.println(sb.toString());
		
		//删除数据
		sb.delete(0, 2);//删除掉的是0和1的数据
		System.out.println(sb.toString());
		
//		修改(替换)
		sb.replace(0, 1, "没吃");
		System.out.println(sb.toString());
		
		String str2 = "这是"+true;
		
		//内部创建StringBuffer或者StringBuilder对象,调用append方法
		StringBuffer sb2  =  new StringBuffer();
		String s = sb2.append("这是").append(true).toString();
		
		
		
	}

StringBuilder和StringBuffer的区别

多个人在操作同一个StringBuffer对象
添加
删除
替换

StringBuffer:线程安全,同步,效率偏低
StringBuilder:没有锁,单线程访问效率更高


Math类

例:

public static void main(String[] args) {
		//获取随机数
		double  d = Math.random();
//		System.out.println(d);//获取0.0-1.0的任意数
		
		//获取1-6之间的随机数
		for(int x=0;x<10;x++){
			double dd = Math.random()*6+1;//自动转换
			int i = (int)dd;//取整 double八个字节 int四个字节 强制转换
//			System.out.println(i);
		}
		
		Random random = new Random();
		//从int类型返回值内随机返回一个数
//		System.out.println(random.nextInt());
		for(int x=0;x<10;x++){
			System.out.println(random.nextInt(7));//0-5
		}
		
	}

包装类转换

基本数据类型(+ - * / …)对象(包装类)
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
booleanBoolean
charCharacter
public static void main(String[] args) {
		//基本数据类型和字符串之间的转换
		
//		字符串 ---->基本数值  int (String)
		System.out.println("123"+1);//1231
		
//		结果124
		int t = Integer.parseInt("123")+1;
		System.out.println(t);
		//parseXxx
//		Double.parseDouble("");
//		int t1 = Integer.parseInt("123a")+1;
//		System.out.println(t1);
		
//		基本数值 ----> 字符串 
		System.out.println(11+11);//22  加法运算
		//1111
		System.out.println(11+""+11);//1111  字符串拼接  不推荐使用
//		String
		String str = String.valueOf(11);//11--->"11"
//		Integer
		String str2 = Integer.toString(11);//11---->"11"
		
		
		//基本数值  ----> 包装对象
		Integer i = new Integer(5);//将基本数据类型5 转成了对象
		Integer valueOf = Integer.valueOf(1);
		
		//包装对象 --->基本数值
		int intValue = i.intValue();//将对象转成基本数据类型
		
	}

自动装箱和拆箱

public static void main(String[] args) {
		int a = 4;//基本数据类型
		
		Integer i = new Integer(4);//包装对象
		
		
		// jdk1.5之后  简化书写
		Integer ii = 4; //自动装箱
			
		Integer valueOf = Integer.valueOf(4);//内部实现
		
		
		ii = ii+1;//值+值
//		1.因为是做加法运算,所以第一步会将ii转成基本数值 ,自动拆箱
//		2.转为基本数值 4 +1  变为5
//		3.因为要赋值给Integer 所以需要自动装箱
		
//		int b= ii.intValue()+1;
//		Integer.valueOf(b);
		
		
		
		Integer i3 = new Integer(3);
		Integer i4 = new Integer(3);
		System.out.println(i3==i4);//地址  false
		System.out.println(i3.equals(i4));//true  Integer也重写Object中的equals 比较两个对象内容是否相同
		
		
		Integer i5 = new Integer(100);
		Integer i6 = new Integer(100);
		System.out.println(i5==i6);//false
		System.out.println(i5.equals(i6));//true
		
		Integer i7 = 127;
		Integer i8 = 127;
//		在自动装箱的时候,如果给的数值在byte范围(-128到127)之内,不会创建新内存空间而是使用原来已有的空间
		System.out.println(i7==i8);//false
		System.out.println(i7.equals(i8));//true

	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值