超牛牪犇Java之StringBuffer和StringBuilder&基本数据类型的包装类

本文详细介绍了StringBuffer和StringBuilder的特点及使用方法,包括拼接、插入、删除等常见操作,并对比了它们与String的区别。

一.StringBuffer和StringBuilder

(StringBuffer和StringBuilder的方法是一样的)

StringBuffer:

JDK1.0出来的 优点:线程安全 缺点:耗费系统资源

StringBuilder:

JDK1.5出来的 优点:节省系统资源 缺点:线程不安全了

(StringBuffer和StringBuilder都是可变的字符序列--修改的是对象本身)

操作StringBuffer的方法 一般是没有返回值的

String:

线程不安全 不可变的字符序列 不能修改字符串本身

----------------------------------分隔符---------------------------------------

常见的方法:

1.拼接:

把int array= new int[]{1,2,3,4};输出成[1,2,3,4]

int[] array = new int[]{1,2,3,4};
		StringBuffer sb = new StringBuffer();
		sb.append("[");
		for (int i = 0; i < array.length; i++) {
			if (i == array.length - 1) {
				sb.append(array[i]).append("]");
			}else {
				sb.append(array[i]).append(",");
			}
		}
		System.out.println(sb);
 	}

2.插入:insert(插入的位置的下标,插入的元素)

3.删除:(留头不留尾)

如果delete传入的结束坐标大于字符串的长度 相当于清空字符串

StringBuffer stringBuffer = new StringBuffer();
		stringBuffer.append("qwertyu");
		//删除 留头不留尾
		stringBuffer.delete(0, 4);
		//传入的结束坐标 > 字符串的长度 相当于清空字符串
		System.out.println(stringBuffer);
		stringBuffer.deleteCharAt(2);
		System.out.println(stringBuffer);
		//获取stringBuffer中的字符
		char c = stringBuffer.charAt(1);
		System.out.println(c);
		//字符数组 转化成stringBuffer对象
		char[] array = {'a','b','c'};
		String string  = String.valueOf(array);
		StringBuffer sb = new StringBuffer(string);
		System.out.println(sb);
4.反转: reverse方法

5.替换: replace方法

6.String和StringBuffer的转换:

//创建一个StringBuffer对象
		StringBuffer sb = new StringBuffer();
		//默认容量是16
		System.out.println(sb.capacity());//打印结果:16
		//长度
		System.out.println(sb.length());//打印结果:0
		//拼接
		StringBuffer buffer = sb.append("qwertyu");
		System.out.println(buffer.toString());
		//StringBuffer转换成字符串类型
		String string = sb.toString();
String和StringBuffer和StringBuilder这三个操作字符串的类作为参数时的不同效果:
public static void fun1(String str) {
		str = "swift";
	}
	public static void fun2(StringBuffer sb) {
		sb.append("swift");
	}
	public static void fun3(StringBuilder sb) {
		sb.append("swift");
	}
	public static void main(String[] args) {
		//字符串在当参数时 和基本数据类型一样 值传递
		//基本数据类型的包装类
		String string = "Taylor";
		fun1(string);
		System.out.println(string);
		//相当于传进去的是 对象地址
		StringBuffer sb = new StringBuffer("Taylor");
		fun2(sb);
		System.out.println(sb);
		
		StringBuilder sBuilder = new StringBuilder("Taylor");
		fun3(sBuilder);
		System.out.println(sBuilder);
	}

二.基本数据类型的包装类

基本数据类型        包装类

byte Byte

short Short

int  Integer

long Long

float Float

double         Double

boolean         Boolean

char Character

包装类的作用:

有类就可以增加成员方法 静态方法

可以将功能进行拓展

创建包装类对象

                //创建一个Integer
		Integer n1 = new Integer(10);
		//转化成数字(转成什么类型就用.数据类型value方法)
		int i = n1.intValue();
		System.out.println(i);

JDK1.5以后可以 自动装箱和自动拆箱

直接用数字来声明(实际上系统是帮你调用了一个方法:Integer.valueOf(10))

Integer n2 = 10;

进行运算时 系统会自动拆箱(自动帮你调用了n2.intValue()方法)

int sum = n2 + 5;
System.out.println(sum);

tip:

                //如果值在[-128,127]之间 
		//实际上是从系统已经创建好的数组 取一个值给你
		//超过了这个范围 会新建一个对象给你
		//所以下面的两个对象 地址不同
		Integer num1 = 128;
		Integer num2 = 128;
		System.out.println(num1 == num2);
		System.out.println(num1.equals(num2));

内容概要:本文档介绍了基于3D FDTD(时域有限差分)方法在MATLAB平台上对微带线馈电的矩形天线进行仿真分析的技术方案,重点在于模拟MATLAB基于3D FDTD的微带线馈矩形天线分析[用于模拟宽带脉冲通过线馈矩形天线的传播,以计算微带结构的回波损耗参数]宽带脉冲信号通过天线结构的传播过程,并计算微带结构的回波损耗参数(S11),以评估天线的匹配性能辐射特性。该方法通过建立三维电磁场模型,精确求解麦克斯韦方程组,适用于高频电磁仿真,能够有效分析天线在宽频带内的响应特性。文档还提及该资源属于一个涵盖多个科研方向的综合性MATLAB仿真资源包,涉及通信、信号处理、电力系统、机器学习等多个领域。; 适合人群:具备电磁场与微波技术基础知识,熟悉MATLAB编程及数值仿真的高校研究生、科研人员及通信工程领域技术人员。; 使用场景及目标:① 掌握3D FDTD方法在天线仿真中的具体实现流程;② 分析微带天线的回波损耗特性,优化天线设计参数以提升宽带匹配性能;③ 学习复杂电磁问题的数值建模与仿真技巧,拓展在射频与无线通信领域的研究能力。; 阅读建议:建议读者结合电磁理论基础,仔细理解FDTD算法的离散化过程边界条件设置,运行并调试提供的MATLAB代码,通过调整天线几何尺寸材料参数观察回波损耗曲线的变化,从而深入掌握仿真原理与工程应用方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值