黑马程序员_07常用类String 、StringBuffer、File类以及递归调用

黑马程序员-软件测试-13阶段3-功能测试-21等价类划分,软件测试分类,瀑布模型,软件开发流程,测试用例的作用,测试用例的设计方法,等价类划分方法,qq账号需求分析,sina邮箱划分等价类 软件测试-黑马程序员 阅读详情
------- android培训、ios培训、期待与您交流! ----------
一、输出一个字符串中出现某个单词的次数(主要用到String类的方法)
public class TestString{
 public static void main(String args[]){
  String s="javascriptsfdsfsdjavasdfsdfsdfjavasfsdfdsfsdfsdfdsjavasdfsdfsdfsdsdfsdjava";
  String sToFind="java";
  int index=-1;
  int count=0;
  while((index=s.indexOf(sToFind))!=-1){
   s=s.substring (index+sToFind.length());
   count++;
  }
System.out.println(count);
 }
}
            //以上程序实现检察字符串出现某个单词的次数

String 创建一个不可变的字符序列
StringBuffer 创建一个可变的字符序列
StringBuffer的常用方法 append、insert、delete

二、Stringbuffer与StringBuilder的区别
        1、 java.lang.StringBuffer线程安全的可变字符序列。
        一个类似于 String 的字符串缓冲区,但不能修改。虽然在任意时间点上它都包含某种特定的字符序列,但通过某些方法调用可以改变该序列的长度和内容。 可将字符串缓冲区安全地用于多个线程。可以在必要时对这些方法进行同步,因此任意特定实例上的所有操作就好像是以串行顺序发生的,该顺序与所涉及的每个线程进行的方法调用顺序一致。  StringBuffer 上的主要操作是 append 和 insert 方法,可重载这些方法,以接受任意类型的数据。每个方法都能有效地将给定的数据转换成字符串,然后将该字符串的字符追加或插入到字符串缓冲区中。append 方法始终将这些字符添加到缓冲区的末端;而 insert 方法则在指定的点添加字符。 
        例如:如果 z 引用一个当前内容是“start”的字符串缓冲区对象
        则此方法调用 z.append("le") 会使字符串缓冲区包含“startle”;
        而 z.insert(4, "le") 将更改字符串缓冲区,使之包含“starlet”。 
        2、通常情况下,如果 sb 引用 StringBuilder 的一个实例,则 sb.append(x) 和 sb.insert(sb.length(), x) 具有相同的效果。
        只要发生有关源序列(如在源序列中追加或插入)的操作,该类就只在执行此操作的字符串缓冲区上而不是在源上实现同步。 
        每个字符串缓冲区都有一定的容量。只要字符串缓冲区所包含的字符序列的长度没有超出此容量,就无需分配新的内部缓冲区数组。如果内部缓冲区溢出,则此容量自动增大。从 JDK 5 开始,为该类补充了一个单个线程使用的等价类,即 StringBuilder。与该类相比,通常应该 优先使用 StringBuilder 类,因为它支持所有相同的操作,但由于它不执行同步,所以速度更快。  
        3、 java.lang.StringBuilder一个可变的字符序列, 用于多个线程是不安全的。
        此类提供一个与 StringBuffer 兼容的 API,但不保证同步。该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。如果可能,建议优先采用该类, 因为在大多数实现中,它(StringBuilder)比 StringBuffer 要快。 在 StringBuilder 上的主要操作是 append 和 insert 方法,可重载这些方法,以接受任意类型的数据。每个方法都能有效地将给定的数据转换成字符串,然后将该字符串的字符追加或插入到字符串生成器中。append 方法始终将这些字符添加到生成器的末端;而 insert 方法则在指定的点添加字符。 
         例如:如果 z 引用一个当前内容为“start”的字符串生成器对象,则该方法调用 z.append("le") 将使字符串生成器包含“startle”,而 z.insert(4, "le") 将更改字符串生成器,使之包含“starlet”。 (这一点实现起来与StringBuilder类似)
       通常,如果 sb 引用 StringBuilder 的实例,则 sb.append(x) 和 sb.insert(sb.length(), x) 具有相同的效果。 每个字符串生成器都有一定的容量。只要字符串生成器所包含的字符序列的长度没有超出此容量,就无需分配新的内部缓冲区。如果内部缓冲区溢出,则此容量自动增大。  将 StringBuilder 的实例用于多个线程是不安全的。如果需要这样的同步,则建议使用 StringBuffer。

三、File类以及递归调用
//采用递归方法列出指定文件夹文件及目录
import java.io.*;
public class FileList{
 public static void main(String args[]){
//File.separtor 在windows底下为“\”,在linux底下为“/”。File.separatorPath 为“;”
  File f=new File("e:"+File.separator+"java"+File.separator+"day01");  
  System.out.println(f.getName());
//这里的递归方法的参数非常重要,可以以层级的形式显示目录与文件   ————————①  
fileList(f,1);
}
 public static void fileList(File f,int level){
  File[] files=f.listFiles();
   String prefix=" ";                  ————————①
  for(int i=0;i<level;i++){
   prefix+=" ";
  }
  for(int i=0;i<files.length;i++){
   System.out.println(prefix+files[i].getName());   // ————————①
   if(files[i].isDirectory()){
/*
这里level++ 与level+1,貌似是相等的,其实不同,在于最后一个层级时,level的值先参与预算在自增,这就会导致层级显示出现问题,不会缩进显示 
*/
    fileList(files[i],level+1); 
   }
  }
 }
}
SAP ERP 系统订单行项目中的计划行(Scheduled Line)详解 *计划行(Scheduled Line)**是SAP系统中订单行项目(如采购订单、生产订单、销售订单等)的细分单元,用于记录和管理物料的供应或需求计划。每个订单行项目可以包含一个或多个计划行,每个计划行对应具体的交货日期、数量、需求类型(如采购申请、生产订单、库存调拨等)以及相关的物流控制参数。简单来说,计划行是系统对某一物料在特定时间点的供需状态的详细规划,它将订单分解为更细粒度的执行步骤,确保供应链各环节(如采购、生产、仓储)能够按计划协同工作。 阅读详情

相关推荐

UFS Link Startup全流程解析:从硬件初始化到链路稳定的5个关键阶段

本文详细解析了UFS Link Startup的全流程,从硬件初始化到链路稳定的5个关键阶段,包括初始化阶段、数据通道发现、数据通道重新对齐、链路启动收尾和能力交换阶段。通过时序分析、代码实现和实际案例,帮助开发者掌握UFS协议链路启动的技术细节,确保设备与主机之间的可靠通信。

weixin_30687051的博客 430

JavaSE常用类之StringBuilder 和 StringBuffer以及File类

StringBuilder 和 StringBuffer以及File类的说明及实例

weixin_54438185的博客 796

使用广播星历进行 GPS 卫星位置的计算

目录1.计算卫星运动的平均角速度 n2.计算观测瞬间卫星的近地点角3.计算偏近点角4.计算真近点角 f5.计算升交角距 6.计算摄动改正项7.进行摄动改正 8.计算卫星在轨道面坐标系中的位置9.计算观测瞬间升交点的经度 L10.计算卫星在瞬时地球坐标系中的位置11.计算卫星在协议地球坐标系中的位置使用广播星历进行GPS卫星位置的计算的详细步骤如下:关于在广播星历中各参数的分布情况可以参考下图:首先根据广播星历中给出的参数 计算参考时刻(TOE) 的平均角速度 式中,GM为万有引力常数 G 与地球总质量

qq_43381998的博客 5568

黑马程序员_06常用类String 、StringBuffer、File类以及递归调用

一、输出一个字符串中出现某个单词的次数(主要用到String类的方法) public class TestString{  public static void main(String args[]){   String s="javascriptsfdsfsdjavasdfsdfsdfjavasfsdfdsfsdfsdfdsjavasdfsdfsdfsdsdfsdjav

besidescrazy的专栏 560

Linux系统下Materials Studio 2020安装避坑指南:从依赖包到许可证配置全流程

本文提供了一份在Linux系统上安装Materials Studio 2020的深度避坑指南。详细解析了从系统依赖包检查、安装流程、许可证配置到Gateway服务部署的全过程,并分享了与Slurm作业调度系统集成的实战经验,旨在帮助用户高效、稳定地完成部署。

weixin_29313547的博客 387

基于BS21的星闪模块设计电路SLE/BLE

基于BS21的星闪模块设计电路SLE/BLE HI2821

2503_91889531的博客 2739

Java读取txt文件赋值到StringBuffer里

工具类如下: package org.csh.util; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.io.Reader; /** * 读取文件的工具类 * @author Administrator * 日期:2015年7月1

简单就是美 6155

保姆级教程:在LKD3588开发板上为RK3588添加SC2210摄像头驱动(含完整DTS配置)

本文提供了一份详细的教程,指导如何在LKD3588开发板上为RK3588处理器添加SC2210摄像头驱动,包括完整的DTS配置和内核编译步骤。教程涵盖了环境准备、驱动文件添加、DTS配置详解、内核编译与烧录、驱动测试以及常见问题排查,帮助开发者快速实现SC2210传感器在RK3588平台上的集成与优化。

weixin_42641741的博客 479

stringbuffer常用方法_常用类的总结

包装类java是面向对象语言,但并不是“纯面向对象”的,八大基本数据类型就不是对象。但在实际应用中会经常将基本类型转换成对象,以便操作。为了解决这个不足,设计了和基本对象对应的包装类。这八个包装类除了Integer和Character,其他都是和基本数据类型一样,但首字母需大写另外除了Character和Boolean外,其他都属于“数字型”。数字型都属于java.lang.Number的子类。N...

weixin_39768247的博客 236

20-CUDA规约算法:并行求和优化策略-✨

本文介绍了GPU上高效并行规约(Reduction)算法的优化技巧。规约是将大量数据合并为单个值的基础计算模式,广泛应用于科学计算等领域。文章从基础并行规约实现出发,逐步讲解了三种关键优化策略:1)交错寻址减少共享内存bank冲突;2)循环展开降低分支预测开销;3)多级规约处理大规模数据。性能对比显示,优化策略可带来最高4.5倍的加速效果。最后总结了最佳实践,包括合理使用共享内存、循环展开和warp级优化等技巧。这些优化方法可显著提升GPU计算密集型应用的性能。

2301_79143213的博客 171

【思博伦】史上最详细Spirent TestCenter测试仪使用教程精讲(一)!图解超赞超详细!!!

3. 在弹出的界面中,找到菜单栏中的“Connect/Create”,选择下拉框中的“Connect to Physical/Visual Chassis”,在弹出的对话框中输入思博伦测试仪的IP地址:192.168.6.244,点击“OK”;说明:目前我们只需要使用到Raw Stream Block,不需要用到Bound Stream Block。说明:如果要使用100G模式,由于硬件限制,必须连续3个面板端口同时配置为100G使用。打开安装包,并按照提示按照即可。

风云说通信 6478

String、StringBuffer、StringBudder区别

学习了String类和StringBuffer类,现在从三分面来总结一下String、StringBuffer、StringBudder三者的区别: 是否可变: String:底层利用字符数组保存字符串常量,是不可变的,因为String类的原码中有:private final char value[];因为有final修饰,所以String类的对象是不可改变的。所以每次修String对象的值时,实际

yajing8的博客 9170

基于截图详解:SAP GUI for Java 如何设置登录链接,以及 conn= 连接字符串该怎么写

摘要:SAP GUI for Java 的连接属性配置关键是在"高级"页签的"conn="后填写连接字符串。连接字符串格式取决于网络拓扑:直连应用服务器使用"/H/主机/S/端口";通过消息服务器负载均衡使用"/M/消息服务器/S/端口/G/组名";经SAProuter访问则需添加路由器前缀。配置时需注意专家模式会覆盖其他页签设置,且连接字符串还支持附加参数如客户端、语言和默认事务码。具体填写内容应根据Basis团队提供的系统信

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 250

Java零基础学习路径:从语法到算法与面试题的实战指南

Java作为一门面向对象的编程语言,其核心在于通过类与对象的概念来组织代码,实现封装、继承和多态等特性,从而构建可维护、可扩展的软件系统。理解Java基础语法和面向对象原理是掌握后端开发技术的基石,这不仅能提升代码质量,也是应对企业级应用开发挑战的关键。在工程实践中,扎实的Java基础能力直接关联到算法解题效率和面试表现,尤其对于初学者和求职者而言,将理论学习与实战练习结合至关重要。通过系统学习Java语法,并结合力扣(LeetCode)算法题库与斯坦福大学经典练习题进行针对性训练,可以有效构建从入门到求职

weixin_34302798的博客 581

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

java的API

1.字符串—String charAt()—(char类型)–获取给定位置的对应字符 indexOf()—(int类型)–获取给定字符串在当前的位置,若当前字符串没有给定字符串,返回-1 lastIndexOf()----获取给定字符串在当前查找的字符串最后的位置 length()—(int类型)–获取当前字符串的长度 startsWith()—(boolean类型)–判断字符串是否是以,给定的...

优快云1782747395的博客 788

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

java中的String,StringBuilder和StringBuffer。

String,StringBuilder和StringBuffer。 速度 String字符串常量 StringBuffer字符串变量(线程安全) StringBuilder字符串变量(非线程安全) 简单的说,String类型与StringBuffer类型及StringBuild...

递归算法解决汉诺塔,真值表等问题总结整理 444

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

String、StringBuffer与StringBuilder之间区别

String StringBuffer StringBuilder String的值是不可变的,这就导致每次对String的操作都会生成新的String对象,不仅效率低下,而且浪费大量优先的内存空间 StringBuffer是可变类,和线程安全的字符串操作类,任何对它指向的字符串的操作都不会产生新的对象。每个StringBuffer对象都有一定的缓冲区...

itchuxuezhe_yang的专栏 35万+

StringBuffer踩坑记录

yaml配置注入一个参数 @Value("${report.root-directory}") private StringBuffer rootDirectory; // 错误写法 //StringBuffer filePath = rootDirectory // 正确写法 StringBuffer filePath = new StringBuffer(rootDirectory); filePath.append("/"); 使用上面的方式使两个引用指向同一个内存地址,修改fil

weixin_45853783的博客 250

常用类(Object,Scanner,String,StringBuffer),递归

一.ObjectObject类是类层次的根类,每个类都使用Object类作为超类(父类),所有类都使用该类中的方法(包括数组) 1.构造方法 2.方法 (1).hashCode();public int hashCode() {//返回该对象的哈希码值。支持此方法是为了提高哈希表(例如 java.util.Hashtable 提供的哈希表)的性能。 } (2).equalspublic boo

TU_BO的博客 515

FILE类型转换成String的方法

 File file = new File(filePath);         if(!file.exists()) return null;         /* 取得扩展名 */   String end=file.getName().substring(file.getName().lastIndexOf(".") + 1,file.getName().length()).toLow...

fan380485838的专栏 2万+

常用黑盒测试用例设计方法-等价类划分法

    等价类划分法是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。 等价类:某个输入域的集合,在这个集合中每个输入条件都是等效的,如果其中一个的输入不能导致问题发生,那么集合中其他输入条件进行测试也不可能发生错误。 有效等价类:有效等价类是程序规格说明有意义,合理的输入数据 无效等价类:无效等价类是程序规格说明无意义,不合理的输入数据 一、 等价类划分原则 如果输入条件规定了取值范围或值的个

weixin_43833100的博客 2132

写StringBuffer到文件

<br />/* * 将结果写入文件 */ private static void createFile(File file, StringBuffer buffer) { try { File newFile = new File(file.getAbsolutePath() + ".txt"); if (newFile.exists())// 存在,则删除 if (!newFile.delete())// 删除成功则创建 { Syst

宝宝 7789

java StringBuffer读写文件

java StringBuffer读写文件 StringBuffer的优势 较String:String每更新一次就会new一个新的对象出来,更新次数上去之后,内存开销太大。而StringBuffer类型在更新(.append等操作)的过程中始终只有一个对象,开销大大减小。 较StringBuilder:StringBuilder和StringBuffer类拥有的成员属...

967

String,StringBuffer与StringBuilder的区别??

String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常改变内容的字

Java天空 80万+

Java之IO流---字节流,字符流,buffer,file

1.概述1.1 IO流的引入 IO流在很多语言已有体现,诸如C语言的stdio.h,C++中的iostream。Java中的IO流大抵是用于在控制台、磁盘、内存上进行数据的读写操作,完成数据的传递。我们可以对它进行如下分类:按处理的数据类型可分为字节流(byte)与字符流(char)按流的流向可分为输入流(in)与输出流(out)按流的功能可分为节点流(Node)和过滤流(Filter)本篇侧重...

Mojito Blogs 3016

java基础之常用类—File类和String类(重点)

(一)String类 继续

qq30211478的博客 3099
上一篇: 黑马程序员_06常用类String 、StringBuffer、File类以及递归调用
下一篇: 黑马程序员_08HashSet实例
孔子云
博客等级 码龄15年 1粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值