String基本方法(一)
2018-01-09 11:42
155 查看
subString(a,b)
截取a ,a+1,.....不包含b
长度为(b-a)
拼接:用加号拼接两个字符串
一个为非字符串,进行拼接后将自动转为字符串
不可变字符串
编译器可以让字符串共享
检测字符串是否相等
s.equals()
s.equalsIgnoreCase();
一定不能使用==运算符检测两个字符串是否相等 !这个字符串只能够确定两个字符串是否放置同一个位置上。当然,如果字符串放置在同一个位置上,他们必然相等
举例:这样判断就会不严谨
String greeting = "hello";
if(greeting=="hello")
//probably true
if(greeting.subString(0,3)=="hel")
//probably false 内容一样但是有可能出错
字符串和空串
可以调用一下代码检查一个字符串是否为空
或
空串是一个java对象,有自己的串长度0 和内容空。
不过String变量还可以存放一个特殊的值为null.这表示目前没有对象与该变量关联
字符串API
char charAt(int index)
int codePointAt(int index)
int compareTo(String other) 按照字典顺序,如果字符串位于other之前,返回一个负数。相等,返回0
-int compareToIgnoreCase()
boolean endWith(String suffix)
boolean equals(Object other)
boolean equalsIgnoreCase(String other)
int indexOf(String str)
int indexOf(Strng str ,int fromIndex)
int indexOf(int cp) 代码点cp
int indexOf(int cp, int fromIndex)
int lastIndexOf(Stirng str)
int lastIndexOf(Strng str ,int fromIndex)
int lastIndexOf(int cp) 代码点cp
int lastIndexOf(int cp, int fromIndex)
返回与字符串或代码点cp匹配的最后一个子串的开始位置,这个位置从原始串尾端或fromIndex开始计算
问题:为什么代码点是int类型的?
在Java当中 一个较小数据类型是直接可以赋值给大数据类型的而且在参数传递的时候同理,你可以写这样一行代码:
这样的赋值也没有错误。所以Java当中在参数匹配的时候是可以用char类型参数匹配int类型参数的定义的
在这里用e的ASCII编码来匹配int类型参数
int length()
int codePointCount(int startIndex , int endIndex)
String replace(CharSequence oldString, CharSequence newSting)
boolean startWith(String prefix)
String subString(int beginIndex)
String subString(int beginIndex,int endIndex)
String toLowerCase()
String toUpperCase()
String trim()
构建字符串StringBuilder
int length()
StringBuilder append(String str) 返回this
StringBuilder append(char c)
StringBuilder appendCodePoint(int cp)
追加一个代码点,并将其转换为一个或两个代码单元并返回this
void setChatAt(int i,char c) 将第i个代码单元设置为c
StringBulider insert(int offset ,String str) 在offset处插入一个str并返回this
StringBulider insert(int offset ,char c)
StringBuilder delete(int startIndex ,int endIndex)不包含endIndex
String toString()
格式化输出
每一个以%字符开始的格式说明符都用相应的参数替换。格式说明符尾部的转化符将指示被格式化的数值类型:f表示浮点数 s表示字符串 d表示十进制数
循环语句:总之一句话:括号里面的都是满足执行,不满足退出
截取a ,a+1,.....不包含b
长度为(b-a)
拼接:用加号拼接两个字符串
一个为非字符串,进行拼接后将自动转为字符串
不可变字符串
编译器可以让字符串共享
检测字符串是否相等
s.equals()
s.equalsIgnoreCase();
一定不能使用==运算符检测两个字符串是否相等 !这个字符串只能够确定两个字符串是否放置同一个位置上。当然,如果字符串放置在同一个位置上,他们必然相等
举例:这样判断就会不严谨
String greeting = "hello";
if(greeting=="hello")
//probably true
if(greeting.subString(0,3)=="hel")
//probably false 内容一样但是有可能出错
字符串和空串
可以调用一下代码检查一个字符串是否为空
if(str.length()==0)
或
if(str.equals(" "))
空串是一个java对象,有自己的串长度0 和内容空。
不过String变量还可以存放一个特殊的值为null.这表示目前没有对象与该变量关联
字符串API
char charAt(int index)
int codePointAt(int index)
int compareTo(String other) 按照字典顺序,如果字符串位于other之前,返回一个负数。相等,返回0
-int compareToIgnoreCase()
boolean endWith(String suffix)
boolean equals(Object other)
boolean equalsIgnoreCase(String other)
int indexOf(String str)
int indexOf(Strng str ,int fromIndex)
int indexOf(int cp) 代码点cp
int indexOf(int cp, int fromIndex)
int lastIndexOf(Stirng str)
int lastIndexOf(Strng str ,int fromIndex)
int lastIndexOf(int cp) 代码点cp
int lastIndexOf(int cp, int fromIndex)
返回与字符串或代码点cp匹配的最后一个子串的开始位置,这个位置从原始串尾端或fromIndex开始计算
问题:为什么代码点是int类型的?
在Java当中 一个较小数据类型是直接可以赋值给大数据类型的而且在参数传递的时候同理,你可以写这样一行代码:
int data = 'a'; 或者: char c = 'e'; int i = c;//赋值是没有问题的
这样的赋值也没有错误。所以Java当中在参数匹配的时候是可以用char类型参数匹配int类型参数的定义的
s1.indexOf('e')等价于s1.indexOf(101)
在这里用e的ASCII编码来匹配int类型参数
int length()
int codePointCount(int startIndex , int endIndex)
String replace(CharSequence oldString, CharSequence newSting)
boolean startWith(String prefix)
String subString(int beginIndex)
String subString(int beginIndex,int endIndex)
String toLowerCase()
String toUpperCase()
String trim()
构建字符串StringBuilder
int length()
StringBuilder append(String str) 返回this
StringBuilder append(char c)
StringBuilder appendCodePoint(int cp)
追加一个代码点,并将其转换为一个或两个代码单元并返回this
void setChatAt(int i,char c) 将第i个代码单元设置为c
StringBulider insert(int offset ,String str) 在offset处插入一个str并返回this
StringBulider insert(int offset ,char c)
StringBuilder delete(int startIndex ,int endIndex)不包含endIndex
String toString()
格式化输出
每一个以%字符开始的格式说明符都用相应的参数替换。格式说明符尾部的转化符将指示被格式化的数值类型:f表示浮点数 s表示字符串 d表示十进制数
System.out.println("%,.2f",10000.0/3.0) 输出: 3,333.33
循环语句:总之一句话:括号里面的都是满足执行,不满足退出
相关文章推荐
- String对象具备的一些基本方法
- String类型、Number类型、Object类型、Array类型的基本方法总结
- 【语言基础】c++ 基本数据类型与字节数组(string,char [] )之间的转化方法
- streamstring的基本使用方法和对它的个人理解
- MyBatis-xml配置SQL文件中,传入List数组、基本类型String、int……、与自定义类型的方法
- String的一些基本方法
- java String 类的基本方法
- 列表(list), 元祖(tuple), 字典(dict), 字符串(string), 集合(set) 的基本方法
- Java学习提要——String的基本方法
- String基本例子,补充(==和equals方法有什么区别.)
- C#中string 的基本使用方法
- 【JavaScript】基本数据类型与引用数据类型区别(及为什么String、Boolean、Number基本数据类型会有属性和方法?)
- 基本类型String的原生方法详解
- 4000 java -- String基本方法
- Java 基础之String的基本方法(1)
- String 基本使用方法, 以及要注意的事项
- string基本字符序列容器(竞赛时常用的使用方法总结)
- oc-字符串NSString,NSMutablesString基本使用方法
- 第1章 Java基本概念及环境配置——FAQ1.18 怎样给main(String[] args)方法的args指定参数值?
- String\StringBuffer\StringBuilder的不同 基本常用类 Date时间类 Math数学类的基本方法