java 字符串 string_Java基础——字符串String

String类

1. String类位于java.lang包中,使用时无需导包。

2. 创建字符串的两种方式:

① 直接指定(字面量声明):String str = "abc";

② 使用 new 关键字声明:String str = new String ("abc");

3. 使用 String类 时的常用方法:

① str.length()返回字符串的长度。length() 是一个方法。

1 System.out.println("请输入用户名:");2 String str=sc.next();3 if(str.length()<6){4 System.out.println("用户名最小为6位!");5 }

② str.equals() 判断字符串是否相等。

1 public static voidmain(String[] args) {2 String str1=new String("abc");3 String str2=new String("123");4 System.out.println(str1.equals(str2));5

6 }

结果为false。

注意:.equals()和 == 的对比原则:.equals()是判断两个字符串中的每一个字符是否相等;而 == 是判断两个字符串的存储地址是否相等。

③ .toLowerCase() 将所有字符转换为小写。

.toUpperCase() 将所有字符转换为大写。

1 public static voidmain(String[] args) {2 String str1=new String("HELLO");3 String str2=new String("world");4 System.out.println(str1.toLowerCase()); //大写转换为小写

5 System.out.println(str2.toUpperCase()); //小写转换为大写

6

7 }

结果为"hello" "WORLD"。

④ str1.concat(str2) 连接字符串。将str2连接到str1后面,并返回一个新的字符串。

而使用 + 连接才是最常用的。

public static voidmain(String[] args) {

String str1=new String("生日");

String str2=new String("happy!");

System.out.println(str1.concat(str2));//使用concat连接

System.out.println(str1+str2); //使用 + 连接

}

两种方法结果一样:

f0b67c6290e2578979272757bc0ef2f9.png

⑤ .indexOf()在字符串中查找指定的字符或子串,并返回其下标。如果没有返回-1。

可以接受字符串、字符、整数类型的参数。如果传入整数。将根据ASCII码自动转化为字符。

.lastindexOf()在字符串中查找指定的字符或子串最后一次出现的位置,并返回去下标。如果没有返回-1。

1 public static voidmain(String[] args) {2 String str1=new String("abcdefg");3 System.out.println(str1.indexOf("c")); //返回2

4 System.out.println(str1.indexOf("def")); //返回3

5 System.out.println(str1.indexOf("acd")); //返回-1

6 System.out.println(str1.indexOf(100)); //返回3,"d"的ASCII码值为100

7 String str2=new String("abaafg");8 System.out.println(str2.lastIndexOf("a")); //返回3

9

10 }

结果为:

28e39c4c687f48bf96eb825697371264.png

⑥ .substring()截取字符串的指定位置,并返回一个新的子串。

.sunstring(3)传入一个参数,表示起始下标,将从此下标开始,一直截到字符串最后;

.sunstring (3,5)传入两个参数,表示起始下标和结束下标,为左闭右开区间,包含起始下标不包含结束下标。

1 public static voidmain(String[] args) {2 String str=new String("abcdefg");3 System.out.println(str.substring(3)); //返回defg

4 System.out.println(str.substring(1, 3)); //返回bc

5

6 }

结果为:

98f26e18a7cc99b9b21b889c8bf721f7.png

⑦ .trim()去掉字符串两端的空格。不能去掉中间空格。

public static voidmain(String[] args) {

String str1=new String(" abcdefg ");

System.out.println(str1.trim());//返回"abcdefg"

String str2=new String("abc defg");

System.out.println(str2.trim());//返回"abc defg"

}

结果为:

dfb489556303e0dcab3b41392037f009.png

⑧ .replace("abc","*") 将字符串中的指定区域,用新的字符串替换掉。

public static voidmain(String[] args) {

String str=new String("abcdefg");

System.out.println(str.replace("abc", "***"));

}

结果为:

d1caf391ad1def98362ac2bf29a117f2.png

⑨ .split(" "); 传入指定字符,将字符串分割为多个子串,返回一个字符串类型的数组;如果传入一个空字符串,则将原字符串的每一个字符都进行分隔。

.split(" ",3)第二个参数,可以传入一个整数,表示将当前字符串分隔为几部分;如果传入的整数小于原来分割的总部分,则剩余的区域将不再分割。

1 public static voidmain(String[] args) {2 String str1=new String("abcdefg");3 String[] a1=str1.split("");4 System.out.println(Arrays.toString(a1)); //返回字符串类型的数组,将每一个字符进行分割。

5

6 String str2=new String("abcdefg");7 String[] a2=str2.split("", 3);8 System.out.println(Arrays.toString(a2)); //分割为3部分

9

10 }

结果为:

4a6821be0fa981fca4d6fe647e9fd659.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值