***String类和StringBuffer类
--------------------------
String类对象中的内容一旦被初始化就不能再改变
StringBuffer类用于封装内容可以改变的字符串,可以将其它各种类型的数据增加,插入到字符串中,也可以翻转字符串中原来的内容。一旦通过StringBuffer生成了最终想要的字符串,就应该使用StringBuffer.toString方法将其转换成String类,然后,就可以使用String类的各种方法操纵这个字符串了。
用toString方法转换成String类型
String x="a"+4+"c"编译时等效于 String x=new StringBuffer().append("a").append(4).append("c").toString();

字符串常量(如"hello")实际上是一种特殊的匿名String对象
1. String s1="hello"; String s2="hello";
   s1和s2指的是同一个对象  if (s1==s2) 结果是true
2. String s1=new String("hello"); String s2=new String("hello")
   s1和s2指的是不同的对象 if (s1==s2) 结果是flase

例: 逐行读取键盘输入,直到输入内容为"bye"时,结束程序

public class ReadLine {
 public static void main(String[] args) {
  byte[] buf=new byte[1024];
  String strInfo=null;
  int pos=0;
  int ch=0;
  System.out.println("please enter info, input tye for exit:");
  while(true)
  { try{
     ch=System.in.read(); //read()方法会读取一个字节的数据
       }
    catch (Exception ex)
    { ex.printStackTrace();
    }      
   switch(ch)
   { case '/r': break;
     case '/n': strInfo=new String(buf,0,pos);
                if (strInfo.equals("bye"))
                { return;
                }
                else
                { System.out.println(strInfo);
                  pos=0;
                  break;
                }
     default :
          buf[pos++]=(byte)ch;
                  
   }
    }
 } 
}

------------------------------------------
String类的常用成员方法
构造方法
** String(byte[] bytes, int offset, int length)  //将一个字节数组的内容转换成字符串对象,从下标为offset的元素,一直取length个元素的内容
** equalslgnoreCase 是在比较两个字符串时忽略大小写, 比如以上程序中的strInfo.equals("bye")可改为strInfo.equalsIgnoreCase("bye"),这样无论输入大小写的bye都能退出
** indexOf(int ch)方法是用来返回一个字符在该字符串中的首次出现的位置,如果没有这个字符则返回"-1"
   如: System.out.println("hello world".indexOf('o'))  //输出结果为4
  它的另一种形式indexOf(int ch, int fromIndex) 反回的是从fromIndex指定的数值开始,ch字符首次出现的位置.
   如: System.out.println("hello world".indexOf('o',5))  //输出结果为7 
** substring(int beginIndex)  返回的是一个字符串中从beginIndex指定的数值到末尾的一个字符串
   如:   System.out.println("hello world".substring(6)) //返回从第6个字符开始一直到最后的字符,输出world 
  substring(int beginIndex, int endIndex) 返回的是当前字符串中从beginIndex开始到endIndex-1结束的一个字符串
   如:   System.out.println("hello world".substring(6,8)) //输出wo
  (如果beginIndex指定的数值超过了当前字符串的长度,则返回一个空字符串)

java学习笔记(十)----String类和StringBuffer类相关推荐

  1. java学习笔记6--类的继承、Object类

    接着前面的学习: java学习笔记5--类的方法 java学习笔记4--类与对象的基本概念(2) java学习笔记3--类与对象的基本概念(1) java学习笔记2--数据类型.数组 java学习笔记 ...

  2. java学习笔记(13) 第13章 - 常用类

    第13 章常用类-目录 13.1 包装类 13.1.1 包装类的分类.包装类和基本数据的转换.案例演示.课堂测试 13.1.2 包装类型和String 类型的相互转换 13.1.3 Integer 类 ...

  3. java学习笔记十二

    1. Java IO 主要分为字节流(byte stream) 字符流          (characterstream) 实现这两种流的输入流与输出流分别是 InputStream OutputS ...

  4. Java学习笔记十五

    26. 下面介绍synchronized代码块,个人以为,重要度远远高于单纯的修饰synchronized方法: 一方面:高效率! 另一方面:后面涉及到的wait和notify方法,都要涉及 Sync ...

  5. 【Java学习笔记十】输入输出流

    在Java.io包中提供了一系列用于处理输入/输出的流类.从功能上分为两类:输入流和输出流.从六结构上可分为:字节流(以字节为处理单位)和字符流(以字符为处理单位). 字符是由字节组成.在Java中所 ...

  6. Java学习笔记十:Java的数组以及操作数组

    Java的数组以及操作数组 一:什么是数组: 数组可以理解为是一个巨大的"盒子",里面可以按顺序存放多个类型相同的数据,比如可以定义 int 型的数组 scores 存储 4 名学 ...

  7. 反射、Lambda表达式(Java学习笔记十二)

    文章目录 反射 Class 类 创建运行时类的对象 获取运行时类的完整结构 调用运行时类的指定结构 调用指定方法 调用指定属性 关于setAccessible方法的使用: 动态代理 Lambda表达式 ...

  8. C++学习笔记(十)——String类

                                 未来属于那些相信梦想,并愿意为之付诸行动的人.   前言 为什么学习String类? 标准库中的String类 String类(简要了解) s ...

  9. java学习笔记13:正则表达式、System类、Date类、Calendar类

    一.正则表达式 1.概述:是指一个用来描述或者匹配一系列符合某个句法规则的字符串:其实就是一种规则,有自己特殊的应用. 2.正则表达式的组成规则 (1).字符 表达式 代表含义 x 字符 x.举例:' ...

最新文章

  1. jquery点击后执行PHP加载div,PHP-将JQuery自动完成附加到由Ajax调用加载的文本字段...
  2. 粒子群优化算法_每日论文19:粒子群优化算法综述
  3. 选择排序由浅到深详细分析和图解
  4. 第三次学JAVA再学不好就吃翔(part28)--猜数字小游戏
  5. 多人姿态识别框架——AlphaPose
  6. 【kerberos】kerberos 认证 详情介绍
  7. Java 10 var关键字详解和示例教程
  8. sns.barplot/sns.countplot/sns.boxplot参数设置
  9. 如何利用shell查看Ubuntu系统版本号和电脑类型
  10. 凿音下载 1.26 安卓版
  11. 前端代码更新镜像后,浏览器显示缓存
  12. 【R语言】敏感度、特异度、准确率检验及置信区间求解
  13. 国外小伙用石头提炼硅,制作芯片,号称99秒“解决”芯片危机
  14. STM32学习笔记---OLED页寻址方式
  15. vlookup多项匹配_Excel 怎样用VLOOKUP匹配多列数据/excle全部筛选匹配
  16. 看全新升级的KubeSphere 3.0 如何助力企业在容器混合云时代乘风破浪?
  17. 【sdp】抓包查看RTP头扩展id
  18. firefox 绿色护眼
  19. CAJ如何转换成PDF(科研必备!!)
  20. 计算机内存与主存的关系(内存是主存吗?内存和主存有什么关系?)

热门文章

  1. 发现一篇超详细的ELK搭建
  2. JS编程建议——7:小心保留字的误用
  3. 【深度学习看手相】台湾学生获奖 AI 项目是科学还是伪科学?
  4. LACP链路聚合-基础篇
  5. 创业公司Starry拟推1G网速的无线宽带服务
  6. 导出websphere内存镜像
  7. oracle初始安装大小
  8. 使用AMDU工具从无法MOUNT的DISKGROUP中抽取数据文件
  9. 交换机、路由器启动过程详述
  10. 七问唐骏:真的性格好就能成功?