一.常用的构造方法
1.String()
初始化一个新创建的 String 对象,使其表示一个空字符序列。
2.String(byte[] bytes)
通过使用平台的默认字符集解码指定的 byte 数组,构造一个新的 String。
3.String(byte[] bytes, Charset charset)
通过使用指定的 charset 解码指定的 byte 数组,构造一个新的 String。
4.String(byte[] bytes, int offset, int length)
通过使用平台的默认字符集解码指定的 byte 子数组,构造一个新的 String。
5.String(byte[] bytes, int offset, int length, Charset charset)
通过使用指定的 charset 解码指定的 byte 子数组,构造一个新的 String
二.常用函数
1. char charAt(int index)
返回指定索引处的 char 值。
-
int compareTo(String anotherString)
按字典顺序比较两个字符串。
-
int compareToIgnoreCase(String str)
按字典顺序比较两个字符串,不考虑大小写
-
String concat(String str)
将指定字符串连接到此字符串的结尾。
-
boolean contains(CharSequence s)
当且仅当此字符串包含指定的 char 值序列时,返回 true。
6.static String copyValueOf(char[] data)
返回指定数组中表示该字符序列的 String。
static String copyValueOf(char[] data, int offset, int count)
返回指定数组中表示该字符序列的 String。
- boolean endsWith(String suffix)
测试此字符串是否以指定的后缀结束。
8.static String format(Locale l, String format, Object… args)
使用指定的语言环境、格式字符串和参数返回一个格式化字符串。
static String format(String format, Object… args)
使用指定的格式字符串和参数返回一个格式化字符串。
- byte[] getBytes(Charset charset)
使用给定的 charset 将此 String 编码到 byte 序列,并将结果存储到新的 byte 数组。
10.int indexOf(int ch)
返回指定字符在此字符串中第一次出现处的索引。
int indexOf(int ch, int fromIndex)
返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。
int indexOf(String str)
返回指定子字符串在此字符串中第一次出现处的索引。
int indexOf(String str, int fromIndex)
返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。
@test
@Test
public void demo1(){
String s = "1234567";
System.out.println(s.length());
System.out.println( s.charAt(3) );
byte b[] = s.getBytes();
System.out.println(b.length);
}
import java.io.IOException
@Test
public void demo2()throws IOException{
String s="1234567我"
System.out.println(s.getBytes("gbk").length)
System.out.println(s.getBytes("utf-8").length)
}
@Test
public void demo3(){
String s = "12中34567";
if( s.length() == s.getBytes().length ){
System.out.println("没有非ASCII码字符");
}else{
System.out.println("包含非ASCII码字符");
}
char ch = s.charAt(2);
System.out.println(ch);
}
@Test
public void demo4(){
String s = "ba2我中eW343你q4";
char chs[] = s.toCharArray();
for(char ch: chs){
if(ch>='a'&&ch<='z' || ch>='A'&&ch<='Z'){
System.out.println("英文字母:"+ch);
}
if(ch>='0'&&ch<='9'){
System.out.println("数字:"+ch);
}
if(String.valueOf(ch).getBytes().length>1){
System.out.println("汉字:"+ch);
}
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
@Test
public void demo5(){
String s1="abccqqq";
String s2="abcd2212";
int n=s1.compareTo(s2);
System.out.println("n="+n);
if( n > 0 ){
System.out.println("s1更大");
}else if( n<0 ){
System.out.println("s1更小");
}else{
System.out.println("s1和s2相等");
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
@Test
public void demo6(){
String str="ewwewabc23232aabcdd";
String s = "abc";
int n = str.indexOf(s);
System.out.println("n="+n);
int m = str.indexOf(s);
n = str.indexOf(s, m+1);
System.out.println("n="+n);
}
/*
* 7、查找姓名中带“飞”字的人,查找姓“张”的人。
*/
@Test
public void demo7(){
String names[] ={"张三丰","张无忌","飞张","张飞","赵敏","黄飞鸿","飞哥","一张"};
for(String name: names){
if( name.indexOf("飞")!=-1 ){
System.out.println(name);
}
}
System.out.println("------------------");
for(String name: names){
if( name.contains("飞") ){
System.out.println(name);
}
}
System.out.println("=====================");
for(String name: names){
if( name.indexOf("张")==0 ){
System.out.println(name);
}
}
System.out.println("------------------");
for(String name: names){
if( name.startsWith("张") ){
System.out.println(name);
}
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
@Test
public void demo8(){
String fileNames[] = {"aa.java","dd.java.c","11.doc","ok.c.java","Hello.java","a.bat"};
for(String name: fileNames){
if(name.endsWith(".java")){
System.out.println(name);
}
}
System.out.println("-----------");
for(String name: fileNames){
int n = name.lastIndexOf(".java");
if(n == name.length()-".java".length() ){
System.out.println(name);
}
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
@Test
public void demo9(){
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
String name = sc.nextLine();
if(name.equalsIgnoreCase("jAcK")){
System.out.println("yes....");
}
}
}
@Test
public void demo10(){
String str="aCw23NoT";
str = str.toLowerCase();
System.out.println(str);
str="aCw23NoT";
str=str.toUpperCase();
System.out.println(str);
}
@Test
public void demo11(){
String str="abc12345abc";
String s = str.substring(3);
System.out.println(s);
String s2 = str.substring(3,8);
System.out.println(s2);
String s3 = str.substring(0,str.length()-1);
System.out.println(s3);
}
@Test
public void demo12(){
String user = "Jack,21,1234";
String strs[] = user.split(",");
for(String s: strs){
System.out.println(s);
}
}
@Test
public void demo13(){
String user = "Jack,21 1234,,aaa bbb";
String strs[] = user.split(",+| +");
for(String s: strs){
System.out.println(s);
}
}
@Test
public void demo14(){
String user = "Jack,21.1234,bbb.ww";
String strs[] = user.split(",|\\.");
for(String s: strs){
System.out.println(s);
}
System.out.println("------------");
user = user.replace('.', ',');
System.out.println(user);
strs = user.split(",");
for(String s: strs){
System.out.println(s);
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
@Test
public void demo15(){
String str=" uiewu 326dss "
System.out.println(str)
System.out.println("len1:"+str.length())
str=str.trim()
System.out.println(str)
System.out.println("len2:"+str.length())
}
}