java学习笔记05--字符串 .

java学习笔记05--字符串 .

一、String类

由字符所组成的一串文字符号被称之为字符串。在java中字符串不仅仅是字符数组,而且是String类的一个实例,可以使用String类来构建。

字符串的每个字符是使用Unicode字符来构建。

Sring对象上的几个方法:

length()       取得字符串的长度

equals()      判断源字符串中的字符是否等于指定字符串中的字符

 toLowerCase()      转换字符串中的英文字符为小写

toUpperCase()       转换字符串中的英文字符为大写

字符串的本质是由字符数组所组成,所以使用String类声明字符串后,该字符串会具有数组索引的性质。

char  charAt(int  index)           返回指定索引处的字符

int    indexOf(int ch)                 返回指定字符第一个找到的索引位置

int    indexOf(String str)          返回指定字符串第一个找到的索引位置

int    lastIndexOf(int ch)           返回指定字符最后一个找到的索引位置

String   substring(int beginIndex)     取出指定索引处至字符串尾端的子字符串

String   substring(int beginIndex ,int  endIndex)     取出指定索引范围子字符串(包括beginIndex,不包括endIndex)

char[]  toCharArray()                 将字符串转换为字符数组

[java] view plaincopy

  1. public class T {
  2. public static void main(String[] args) {
  3. String str = "hello itmyhome";
  4. for(int i=0;i<str.length();i++){
  5. System.out.print(str.charAt(i));
  6. }
  7. System.out.println();
  8. System.out.println("第一个o索引位置 : "+str.indexOf("o"));
  9. System.out.println("最后一个o索引位置: "+str.lastIndexOf("o"));
  10. System.out.println("截取从第6个字符至尾:        "+str.substring(6));
  11. System.out.println("截取从第6个至第8个字符:"+str.substring(6, 8));
  12. char charStr[] = str.toCharArray();
  13. for (int i = 0; i < charStr.length; i++) {
  14. System.out.print(charStr[i]);
  15. }
  16. }
  17. }

执行结果:

[java] view plaincopy

  1. hello itmyhome
  2. 第一个o索引位置 : 4
  3. 最后一个o索引位置: 11
  4. 截取从第6个字符至尾:        itmyhome
  5. 截取从第6个至第8个字符:it
  6. hello itmyhome

在构建字符串对象时,除了直接在=后使用""来指定字符串常数之外,也可以使用字符数组来构建:

[java] view plaincopy

  1. char name[] = {‘i‘,‘t‘,‘m‘,‘y‘,‘h‘,‘o‘,‘m‘,‘e‘};
  2. String s = new String(name);

二、不可变字符串

在java中使用字符串有一个非常重要的规则必须记得,一个字符串对象一旦被配置,它的内容就是固定不可变的。

在java中,使用“=”将一个字符串对象指定给一个引用名称,其意义为改变该名称所引用的对象,原来被引用的字符串对象若没有其他名称来引用它,就会在适当的时候被java的“垃圾回收”机制回收。

在java执行时会维护一个String池(Pool),对于一些可以共享的字符串对象,会现在String池中查找是否存在相同
的String内容(字符相同),如果有就直接返回,而不是直接创造一个新的String对象,以减少内存的耗用。如果在程序中使用下面的方式来声明,则
实际上是指向同一个字符串对象:

[java] view plaincopy

  1. String str1 = "itmyhome";
  2. String str2 = "itmyhome";
  3. System.out.println(str1==str2);

当直接在程序中使用“”来包括一个字符串时,该字符串就会在String池中。

StringBuilder类

参考http://blog.csdn.net/itmyhome/article/details/7232340

分离字符串

可以使用String的split()进行分离字符串

需注意问题:“.”,“|”,“?”都是转义字符,必须加“\\”

[java] view plaincopy

  1. String s1[] = str.split("\\.");
  2. String s2[] = str.split("\\|");
  3. String s3[] = str.split("\\?");

如果在一个字符串中有多个分隔符,可以用“|”作为连字符。

[java] view plaincopy

  1. String str = "welcome?to!itmyhome bolg";
  2. String s[] = str.split("\\?|!");
  3. for (int i = 0; i < s.length; i++) {
  4. System.out.println(s[i]);
  5. }

以?和!作为分隔符。

时间: 2024-08-06 20:05:28

java学习笔记05--字符串 .的相关文章

Java学习笔记_18_字符串、包装类、原始数据类剪得转换

18. 字符串.包装类.原始数据类剪得转换: 各个转换如下: 1>String 转换成Integer: Integer integer = new Integer("string");或 Integer Integer = Integer.valueOf(String): 注:String必须是数字字符串,如:"1232". 2>Integer 转换成String: String str = Integer.toString(); 3>Intege

【原】Java学习笔记023 - 字符串缓冲区_正则表达式

1 package cn.temptation; 2 3 import java.util.Arrays; 4 5 public class Sample01 { 6 public static void main(String[] args) { 7 // 因为字符串创建后就不能修改,导致在进行字符串拼接时,会产生大量的中间字符串,创建对象都是需要消耗资源 8 // 所以,能不用字符串的直接拼接尽量不使用 9 10 // 字符串缓冲区:StringBuffer类/StringBuilder类

Java学习笔记 05

一.包装类 综述 >>java.lang包中的Integer类.Long类和Short类,分别将基本数据类型int.long和short封装成一个类.这些类都是Number的子类. Integer类 >>构造方法 >>>Integer(int number)方法用一个int型变量作为参数来获取Integer对象 >>>Integer(String str)方法用一个String型变量作为参数来获取Integer对象 >>常用方法 In

【Java学习笔记】字符串和Date的转换

Date date = new Date(); System.out.println("当前时间对象:" + date); //Date对象转为本地时间格式 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss"); String localDate = sdf.format(date); System.out.println("本地时间格式:" + localDate)

java学习笔记10--泛型总结

java学习笔记系列: java学习笔记9--内部类总结 java学习笔记8--接口总结 java学习笔记7--抽象类与抽象方法 java学习笔记6--类的继承.Object类 java学习笔记5--类的方法 java学习笔记4--对象的初始化与回收 java学习笔记3--类与对象的基础 java学习笔记2--数据类型.数组 java学习笔记1--开发环境平台总结 本文地址:http://www.cnblogs.com/archimedes/p/java-study-note10.html,转载

java学习笔记一

只记录一些我认为比较必要,容易出错的地方.(不断更新中) 内存:分为四段,代码段code segment,数据段data segment,栈stack, 堆heap.记住如下图 数据类型: 1.java整形常量默认为int类型,当使用long类型时,因此需要添加“l”或“L”,一般用大写,小写像1.如long i = 888888888888L 2.浮点数时会默认为double类型,因此使用float时需要添加f.如 float i = 0.123f 3.java支持大数运算. 强制转换 flo

Java 学习笔记(2015.7.13~17)

Java 学习笔记(2015.7.13~17) Java this关键字 表示本类中的属性,调用本类中的方法 class Person {        private String name;         private int age;         public Person(String name, int age) {         this.name = name;//调用本类中的属性         this.age = age;//同上} //get&set方法:    

非专业码农 JAVA学习笔记 6java工具类和算法-string

续<非专业码农 JAVA学习笔记 5 java工具类和算法> 五.字符串string 字符串和字符的差别:字符串双引号括起来”n”,字符用单引号括起来,表示一种符号’\n’ 1.string的主要方法和属性 类 方法或者属性 备注 定义string Stirng s=new string(“值”),string s=”值” 属性 string.length:string的长度为字节 方法startswith,endswith s.startwith(“值”)-以值为开头,s.endswith(

java学习笔记07--日期操作类

java学习笔记07--日期操作类 一.Date类 在java.util包中定义了Date类,Date类本身使用非常简单,直接输出其实例化对象即可. [java] view plaincopy public class T { public static void main(String[] args) { Date date  = new Date(); System.out.println("当前日期:"+date); //当前日期:Thu May 16 23:00:57 CST