java基础---字符串string
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的更多相关文章
- Java基础 - 字符串 String
字符串就是用字符拼接成的文本值,字符串在存储上类似数组,在java语言中把字符串当做对象进行处理 创建字符串 package com.mingri.chapter_02; public class d ...
- Java基础——字符串String
String类 1. String类位于java.lang包中,使用时无需导包. 2. 创建字符串的两种方式: ① 直接指定(字面量声明):String str = "abc"; ...
- Java基础-字符串(String)常用方法
Java基础-字符串(String)常用方法 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.java的API概念 Java的API(API:Application(应用) Pr ...
- Java基础-字符串连接运算符String link operator
Java基础-字符串连接运算符String link operator 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 字符串链接运算符是通过“+”进行拼接的. 一.使用“+”进行字 ...
- Java基础之String、StringBuffer、StringBuilder浅析
Java基础之String.StringBuffer.StringBuilder浅析 一.前言: 位于java.lang包下的String.StringBuilder.StringBuffer一般都是 ...
- Java常量字符串String理解
Java常量字符串String理解 以前关于String的理解仅限于三点:1.String 是final类,不可继承2.String 类比较字符串相等时时不能用“ == ”,只能用 "eq ...
- java中字符串String 转 int(转)
java中字符串String 转 int String -> int s="12345"; int i; 第一种方法:i=Integer.parseInt(s); 第二种方法 ...
- Java中字符串string的数据类型
Java中字符串string的数据类型 时间:2017-07-03 08:01:47 YuanMxy 原文:https://blog.csdn.net/YuanMxy/article/details/ ...
- java基础18 String字符串和Object类(以及“equals” 和 “==”的解析)
一.String字符串 问:笔试题:new String("abc")创建了几个对象?答:两个对象,一个对象是 位于堆内存,一个对象位于字符串常量池 class Demo17 { ...
随机推荐
- 201521044091 《java程序设计》第八周学习总结
本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容.1.2 选做:收集你认为有用的代码片段 书面作业 本次作业题集集合 List中指定元素的删除(题目4-1)1.1 实验 ...
- 201521123105 第七周Java学习总结
1. 本周学习总结 2. 书面作业 1.ArrayList代码分析 1.1 解释ArrayList的contains源代码 以下是ArrayList的contains源代码: public boole ...
- 201521123011 《Java程序设计》第1周学习总结
1. 本章学习总结 通过这章的学习让我初步认识了Java,认识到了java和之前c语言的异同点. 对java是面向对象的这句话有了一定了解 认识了jdk,jre,jvm的区别. 2.书面作业 1.为什 ...
- 201521123109《java程序设计》第一周学习总结
1.本章学习总结 java是我这学期学习的一门新的编程语言,个人觉得java还是很深奥的,对于一门新的计算机语言,就像打开了一扇新世界的大门,有许多东西需要不断学习不断探索,除了上课认真听讲,平时还要 ...
- 陈敏-第一周Java课程总结
一.本周学习总结 1.感受到JAVA的神奇魅力,以及其跨平台的优势 2.第一次接触感觉还是有很多不懂. 3.了解了JDK 二.书面作业 (一)为什么java程序可以跨平台运行?执行java程序的步骤是 ...
- Java课程设计—象棋
1. 团队名称.团队成员介绍 团队名称:WY 团队成员: 吴慧婷[组长] 201521123094 网络1514 姚佳希 201521123042 网络1512 2 项目git地址 Java课程设计 ...
- 快速搭建一个Fabric 1.0的环境
之前笔者写了一篇Fabric1.0 Beta的部署和Fabric 1.0的多机部署.但是很多人在部署Fabric的时候还是很容易出问题,所以我就再把Fabric 1.0的单机环境搭建讲一下.其实很多内 ...
- linux下svn命令大全(转)
1.将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain 简写:s ...
- 如何写好git commit message
1.触发事件 我有这样一个版本库,里面包含两个学习用的练习项目:BookStore(以下简称BS)和PictureFriend(以下简称PF) 我在更改PF以后,未进行提交,同时又到BS中优化了一下文 ...
- Linux 下安装maven
1.首先到Maven官网下载安装文件,目前最新版本为3.0.3,下载文件为apache-maven-3.0.3-bin.tar.gz,下载可以使用wget命令:2.进入下载文件夹,找到下载的文件,运行 ...