java之13天 字符串StringBuffer (二)

StringBuffer 和 StringBuilder


/**
 * StringBuffer是字符串缓冲区一个容器
 * 特点:
 * 1.长度是可变的 
 * 2.可以直接操作多种数据类型
 * 3.最终会通过toString方法编程字符串
 * 
 * 
 * 1.存储
 * 		StringBuffer append(): 将数据作为参数添加到已有的数据结尾处.
 *      StringBuffer insert(index,数据);可以将数据插入到指定的index位置.
 * 2.删除
 *     StringBuffer delete(int start,int end): 包含 start 不包含 end
 *     StringBuffer deleteCharAt(int index):删除指定位置字符
 * 3.修改
 *     StringBuffer replace(int start,int end,String str);
 *     void setCharAt(int index,char c);
 * 4.查询
 *    char  charAt(index):获取指定角标上的字符
 *    int indexOf(String str)
 *    int lastIndexOf(String str)
 *    int length()
 *    String subString(int start)
 *    
 * 5.反转
 *   StringBuffer reverse();
 *   
 * 6.复制
 *  void getChars(int srcBegin,int srcEnd,char[] dst,int dstBegin)  
 *
 *
 *
 *JDK1.5 版本之后出现了StringBuilder.
 *
 *	StringBuffer 是线程同步.
 *	StringBuilder 是线程不同步. 单线程的时候 一般都用这个  以后开发建议使用 StringBuilder
 *
 *JDK 升级 的三个因素
 *  1.提高效率
 *  2.简化书写
 *  3.提高安全性
 *
 */
public class StringBufferDemo {
	public static void sop(String str){
		System.out.println(str);
	}
	public static void method_copy(){
		StringBuffer sb=new StringBuffer("abcdef");
		char[] chs=new char[4];
		sb.getChars(0, 4, chs, 0);
		for (char c : chs) {
			sop("getChars"+c);
		}
		
	}
	
	public static void method_update(){
		StringBuffer sb=new StringBuffer("abcdef");
		sb.replace(1, 4, "JAVA");
		sop(sb.toString());
		sb.setCharAt(2,'K');  //替换指定位置上的字符
		sop(sb.toString());
	}
	
	public static void method_delete(){
		StringBuffer sb=new StringBuffer("abcdef");
		sb.delete(1,3);
		sop(sb.toString());
		
		//清空缓冲区 
		//sb.delete(0, sb.length());
		
		//删除 sb中的 c
		sb.deleteCharAt(2);// 或者 sb.delete(2,3);
		sop(sb.toString());
		
	}
	
	public static void method_create(){
		StringBuffer sb=new StringBuffer();
		StringBuffer sb1=sb.append(34);
		sop("sb==sb1:"+(sb==sb1));
		
		sb.append("sdfsdf").append(true).append(123);
		sop(sb.toString());
	}
	
	public static void main(String[] args) {
		method_create();
		method_delete();
		method_update();
		method_copy();
	}

}


装箱 和 拆箱

/**
 * 基本数据类型的对象包装类
 * byte       	Byte
 * short      	short
 * int			Integer
 * boolean 		Boolean
 * float		Float
 * double		Double
 * char			Character
 * 
 * 基本数据类型对象包装类的最常见作用
 *   1.就是用于基本数据类型和字符串类型之间的转换
 *   
 *   基本数据类型装字符串
 *    基本数据类+"";  这样就变成了一个字符串
 *    基本数据类型.toString(基本数据类型值);
 *    如: Integer.toString(34); //将34 整数类型变成 "34"
 *    
 *   字符串转成基本数据类型. 
 *     基本数据类型包装类.parseXXX(str);
 *     xxx  a=Xxxx.parseXxx(String stt);
 *     
 *     double d=Double.parstDouble("12.13");
 *     
 * 十进制转换其他进制
 * 		toBinaryString();
 *      toHexstrng();
 *      toOctalString();
 * 
 * 其他进制转换成十进制
 *    parseInt(string,radix);
 * 
 */


public class IntegerDemo {

	public static void sop(String str){
		System.out.println(str);
	}
	
	public static void main(String[] args) {
		//整数类型的最大值
		sop("int max:"+Integer.MAX_VALUE); //用于判断 表达式运算后的值 是不是在这个整数范围
		
		
		//将在一个字符串转成整数
		int num=Integer.parseInt("123"); //必须要传入数字格式的字符串
		sop("num="+(num+4));
		
		long x=Long.parseLong("123");
		
		
		boolean b=Boolean.parseBoolean("true");
		sop("boolean="+b);
		
		sop(Integer.toBinaryString(6));
		sop(Integer.toHexString(60));
		
		
		int ss =Integer.parseInt("110",10);
		sop(""+ss);
		ss =Integer.parseInt("110",2);
		ss =Integer.parseInt("3c",16);
		sop(""+ss);
		
		Integer i=new Integer("123");
		int sss=i.intValue(); //这样也可以转成 基本数据
		
		method();
		
		method1();
	}

	public static void method(){
		Integer x=new Integer("123");
		Integer y=new Integer("123");
		sop("x==y:"+(x==y));
		sop("x.equals(y):"+x.equals(y));
	}
	
	public static void method1(){
		Integer x=new Integer(4);
		Integer x1=4;  //和上面的相等    4 就是一个对象 代替了 new Integer(4); 这个是自动装箱过程只在JDK 5.0后才行. 
		
		x=x1+2;  //4 表示一个对象, 那 对象 +2 肯定是不成功的. 原因  4:进行了 自动拆箱. x1.intValue(); 然后在进行装箱赋值给 x
		//x1=x1+2;
		
		
		//享元模式
		Integer m=128;
		Integer n=128;
		sop("m==n:"+(m==n));  //false
		Integer m1=127;
		Integer n1=127;
		sop("m1==n1:"+(m1==n1)); //true ,因为 m1 和 n1 指向了同一个Integer对象.
		//因为当数值在byte范围内的时候.-128~127中,对于新特性,如果该数值已经存在,则不会在开辟新的空间.
		sop("m1.compareTo(n1)"+m1.compareTo(n1)); //0 相等
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估中心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值