java的String及StringBuffer和StringBuilder

(一)String类:

Java使用String类来创建和操作字符串;String str="hello World";

注意:String类是不可变的,一旦创建了String对象,他的值就无法改变了;

常用方法:

 (1)int length():返回该字符串的长度;toString(): 返回此对象本身;

 (2)String[] split(String str):根据给定的正则表达式拆分字符串;

 (3)String subString(int beginIndex)|subString(int beginIndex,int endIndex):  返回截取的字符串;

 (4)char[] toCharArray():将字符串转换为一个字符数组;

 (5)String trim():返回字符串的副本,忽略前面的空格和最后的空格;

 (6)char charAt(int index):返回该索引的字符;

  其他方法:

 (1)int  compareTo(Object o)/compareTo(String str) 将字符串和另一个对象/字符串进行比较;

 (2)String concat(String str):将指定字符串连接到该字符串的结尾;

 (3)equals(Object obj ):将字符串内容与指定的对象进行比较;

 (4)byte[]  getBytes() | getBytes(String charsetName):将字符串按照默认|指定编码格式编码为byte序列;

 (5)void getChars(int beginIndex,int endIndex,char[]  C,int cBeginIndex):将字符从字符串复制到目标字符数组;

 (6)hashCode():返回字符串的哈希码;

 (7)int indexOf(int ch) | indexOf(String str) | indexOf(int ch,int beginIndex) | indexOf(String str,int beginIndex)

         int lastIndexOf(int ch) | lastIndexOf(String str) | lastIndexOf(int ch,int beginIndex) | lastIndexOf(String str,int beginIndex)

       返回此字符/字符串{从开始索引起}第一次/最后一次出现的索引;

 (8)String replace (char oldChar,char newChar)| replaceAll(String old,String new) | replaceFirst(String old,String new);

(二) StringBuffer类和StringBuilder类:

和String类不同的是,StringBuffer和StringBuilder类的对象能够被多次修改,并且不产生新的未使用对象;

StringBuilder存在线程安全问题,但是速度比较快

StringBuffer不存在线程安全问题,速度较慢;

多数情况下建议使用StringBuilder,但在线程安全的前提下,需要使用StringBuffer;

StringBuffer常用方法:(还支持很多String类的方法)

    (1)StringBuffer append(String s):在该字符串后面追加字符串;

    (2)StringBuffer reverse():将该字符串反向存储;

    (3)delete(int start,int end):移除索引中间的字符串;

    (4)insert (int offset,int i):将参数i的字符表达形式插入该字符串的指定位置;

    (5)replace(int start,int end,String str):使用指定字符串替代该字符串指定索引位置的字符串;

 

1. 内容概要 本项目是一个支持科学函数的命令行计算器,兼容 C++98 标准。它实现了中缀表达式词法分析、后缀表达式转换与求值,支持常见数学运算(如幂、三角函数、对数等)与括号优先级解析。程序还提供了角度版三角函数、角度与弧度互转功能,并支持函数调试输出与函数演示模式。 2. 适用人群 * C++ 初中级学习者,特别是希望深入理解表达式求值机制者 * 需要一个可扩展的计算引擎的项目开发者 * 想通过项目实践词法分析、调度场算法、数学函数封装的开发者 * 高校学生课程设计、编译原理实践者 3. 使用场景及目标 * 实现中缀表达式的完整求解器,支持函数嵌套、优先级与结合性处理 * 提供角度与弧度版本的三角函数,以适应不同输入偏好 * 演示中缀转后缀过程,辅助编程教育与算法教学 * 提供科学函数辅助计算,如 `log`, `sqrt`, `abs`, `exp`, `ceil`, `floor` 等 4. 其他说明 * 支持函数:sin, cos, tan(弧度);sind, cosd, tand(角度) * 支持函数嵌套,如 `sin(deg2rad(30))` * 支持操作符:+, -, \*, /, ^, \*\*(幂运算)与括号优先级 * 所有函数均通过 map 注册,方便扩展与自定义 * 输入 `help` 查看支持函数,`demo` 观看转后缀过程,`quit` 退出程序 * 提示用户避免使用 `°` 符号,推荐使用角度函数代替 * 可通过 `g++ calculator.cpp -o calculator -lm` 编译(需链接数学库)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值