1、字符创的概念

  java字符串就是Unicode字符序列。例如,串“Java\u2122”由5个Unicode字符J、a、v、a和TM。java没有内置的字符串类型,而是在标准库Java类库中提供了一个预定义类String。

2、子串

  String类的substring方法可以从一个较大的字符串提取出一个子串。

String    greeting ="Hello";
String s = greeting.substring(0,3);

  创建了一个由字符“Hel”组成的字符串。 substring方法的第二个参数是不想复制的第一个位置。这里要复制位置为0、1和2(从0到2, 包括0和2)的字符。在substring中从0开始计数,直到3为止,但不包含3。

  substring的工作方式有一个优点:容易计算子串的长度。字符串s.substring(a, b)的长度为ba。例如,子串“Hel”的长度为3-0=3。

3、拼接

  与大多数程序设计语言一样,Java语言允许使用+号连接两个字符串。

String  str1 = "I Love java!";
String str2= "I Love China!";
String str3 = str1+str2;

  上述将“I Love Java!I Love China”赋值给了str3;e(注意,单词之间没有空格,+号按照给 定的次序将两个字符串拼接起来)。 当将一个字符串与一个非字符串的值进行拼接时,后者被转换成字符串。

4、不可变字符串

  String类没有提供用于修改字符串的方法,如果希望将greeting的内容修改为“Help!”,不能直接地将greeting的最后两个位置的字符修改为‘P’和‘!’!但是可以用替换来做出“修改”这一意义。

  greeting = greeting.substring(0,3)+"p!";

上述语句将greeting当前值修改为Help!

  由于不能修改Java字符串中的字符,所以在Java文档中将String类对象称为不可变字符串, 如同数字3永远是数字3一样,字符串“Hello”永远包含字符H、e、l、l和o的代码单元序列, 而不能修改其中的任何一个字符。当然,可以修改字符串变量greeting,让它引用另外一个字 符串,这就如同可以将存放3的数值变量改成存放4一样。

5、检测字符串是否相等

  可以使用equals()方法检测两个字符串内容是否相等。

  s.equals(t); 如果字符串s与字符串t相等,返回true,否则返回false。需要注意,s和t都是字符串变量,也可以是字符串常量。

  一定不能用“==”来检测两个字符串是否相等!这个运算符只能够确定两个字符串是否防放置在同一个位置上,比较的是内容和地址都要相等时2个字符串才会相等。当然,如果字符串放在同一个位置上,它们必然相等,但是完全有可能内容相同的多个字符串在拷贝放置在不同位置上。

  String greeting  = "hello";

  if(gerrting =="hello")

  //probably  true  

  if(greeting.substring(0,3)=="hel")

  //probably false;

  如果虚拟机始终将相同的字符串共享,就可以使用"=="运算符判断是否相等,但是实际上只有字符串常量才是共享的,而+或substring 等操作产生的结果并不是共享的。

6、字符串API

• char charAt (int index) 返回给定位置的代码单元。除非对底层的代码单元感兴趣,否则不需要调用这个方法。

• int codePointAt(int index) 5.0 返回从给定位置开始或结束的代码点。

• int offsetByCodePoints(int startIndex, int cpCount) 5.0 返回从startIndex代码点开始,位移cpCount后的代码点索引。

• int compareTo(String other) 按照字典顺序,如果字符串位于other之前,返回一个负数;如果字符串位于other之后, 返回一个正数;如果两个字符串相等,返回0。

• boolean endsWith(String suffix) 如果字符串以suffix结尾,返回true。

• boolean equals(Object other) 如果字符串与other相等,返回true。

• boolean equalsIgnoreCase(String other) 如果字符串与other相等(忽略大小写),返回true。

• int index0f(String str)

• int index0f(String str, int fromIndex) Java基本的程序设计结构 47 java.lang.string 1.0

• int index0f(int cp) • int index0f(int cp, int fromIndex) 返回与字符串str或代码点cp匹配的的第一个子串的开始位置。这个位置从索引0或 fromIndex开始计算。如果在原始串中不存在str,返回-1。

• int lastIndex0f(String str)

• int lastIndex0f(String str, int fromIndex)

• int lastindex0f(int cp) • int lastindex0f(int cp, int fromIndex) 返回与字符串str或代码点cp匹配的最后一个子串的开始位置。这个位置从原始串尾端或 fromIndex开始计算。

• int length( ) 返回字符串的长度。

• int codePointCount(int startIndex, int endIndex) 5.0 返回startIndex和endIndex-1之间的代码点数量。没有配成对的代用字符将计入代码点。

• String replace(CharSequence oldString,CharSequence newString) 返回一个新字符串。这个字符串用newString代替原始字符串中所有的oldString。可以用 String或StringBuilder对象作为CharSequence参数。

• boolean startsWith(String prefix) 如果字符串以preffix字符串开始,返回true。

• String substring(int beginIndex) • String substring(int beginIndex, int endIndex) 返回一个新字符串。这个字符串包含原始字符串中从beginIndex到串尾或endIndex-1的所 有代码单元。

• String toLowerCase( ) 返回一个新字符串。这个字符串将原始字符串中的所有大写字母改成了小写字母。

• String toUpperCase( ) 返回一个新字符串。这个字符串将原始字符串中的所有小写字母改成了大写字母。

• String trim( ) 返回一个新字符串。这个字符串将删除了原始字符串头部和尾部的空格。

java基础---字符串string的更多相关文章

  1. Java基础 - 字符串 String

    字符串就是用字符拼接成的文本值,字符串在存储上类似数组,在java语言中把字符串当做对象进行处理 创建字符串 package com.mingri.chapter_02; public class d ...

  2. Java基础——字符串String

    String类 1. String类位于java.lang包中,使用时无需导包. 2. 创建字符串的两种方式: ① 直接指定(字面量声明):String str = "abc"; ...

  3. Java基础-字符串(String)常用方法

    Java基础-字符串(String)常用方法 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.java的API概念 Java的API(API:Application(应用) Pr ...

  4. Java基础-字符串连接运算符String link operator

    Java基础-字符串连接运算符String link operator 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 字符串链接运算符是通过“+”进行拼接的. 一.使用“+”进行字 ...

  5. Java基础之String、StringBuffer、StringBuilder浅析

    Java基础之String.StringBuffer.StringBuilder浅析 一.前言: 位于java.lang包下的String.StringBuilder.StringBuffer一般都是 ...

  6. Java常量字符串String理解

    Java常量字符串String理解 以前关于String的理解仅限于三点:1.String 是final类,不可继承2.String 类比较字符串相等时时不能用“ == ”,只能用  "eq ...

  7. java中字符串String 转 int(转)

    java中字符串String 转 int String -> int s="12345"; int i; 第一种方法:i=Integer.parseInt(s); 第二种方法 ...

  8. Java中字符串string的数据类型

    Java中字符串string的数据类型 时间:2017-07-03 08:01:47 YuanMxy 原文:https://blog.csdn.net/YuanMxy/article/details/ ...

  9. java基础18 String字符串和Object类(以及“equals” 和 “==”的解析)

    一.String字符串 问:笔试题:new String("abc")创建了几个对象?答:两个对象,一个对象是 位于堆内存,一个对象位于字符串常量池 class Demo17 { ...

随机推荐

  1. 201521123071《java程序设计》第三周学习总结

    1. 本周学习总结 这周主要学习了构造函数,类与对象,就是这周事情很多,还没来得及好好复习,所以有很多知识都没有认识透彻.但我会尽力补上的. http://images2015.cnblogs.com ...

  2. 201521123008《Java程序设计》第1周学习总结

    本周学习总结 了解了JAVA:jdk:jre:jvm等 C语音与JAVA的部分区别: C语言全面向过程,java面向对象: C语言的代码不能跨平台,java的代码可以跨平台: C语言有指针,java没 ...

  3. JSP学习(一)之中文乱码问题的解决

    一.响应中的乱码 我们所看到的页面,是由服务器把内容放入响应(response)中,然后发送给浏览器的.如果响应中的数据无法被正常解析,就会出现中文乱码.为什么英文不存在乱码问题?因为无论是ISO-8 ...

  4. 201521123088《java程序设计》第十周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 2. 书面作业 本次PTA作业题集异常.多线程 finally 题目4-2 1.1 截图你的提交结果(出现学 ...

  5. 201521123067 《Java程序设计》第9周学习总结

    201521123067 <Java程序设计>第9周学习总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 Q1.常用异常(题目5-1 ...

  6. python 接口测试1 --如何创建和打印日志文件

    python自带的logging实在是不好用,推荐使用logbook 思路如下: 1.创建path.py文件,获取工程根路径 2.创建log.py文件,在工程根路径下创建日志文件(文件名称按日期命名) ...

  7. java面试之Hashmap

    在java面试中hashMap应该说一个必考的题目,而且HashMap 和 HashSet 是 Java Collection Framework 的两个重要成员,其中 HashMap 是 Map 接 ...

  8. 基本的maven的命令行命令

    1.创建简单的maven 的web项目 mvn archetype:create 举例:mvn archetype:create -DgroupId=com.demo.app -DartifactId ...

  9. Java9新特性之——JShell

    java9已经在北京时间9月22日正式发布,开发者可以在oracle jdk官网上下载到最新的jdk9.jdk9和jdk8中的新特性不同:jdk8中的stream和lambda表达式能够让开发者非常快 ...

  10. 转换时间对象和字符串对象&添加时间

    /* *基本思路,将字符串时间转化为时间对象,通过毫秒数来加减时间,然后在转化为字符串输出 */ //转化字符时间yy-mm-dd hh:mm:ss 为时间对象   使用split进行字符串的分割,取 ...