黑马程序员--字符串总结

---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
String类
 定义:有很多字符组成的字符序列叫做字符串.
 用法:
 1:创建字符串的对象
   String str = "abc";
 2:通过构造方法传递字节数组参数
  byte[] bys = {92,98,94,127,109};
  String s = new String(bys);
  String s = new String(bys,1,3);
 3:通过构造方法传递字符数组参数
  char[] chs = {'h','e','l','l','o'};
  String s = new String(chs);
  String s = new String(chs,0,2);

字符串的功能使用
 判断功能
   blooean equals()  判断字符串的内容是否相同,区分大小写
   blooean equalsIgnoreCase() 判断字符串的内容是否相同,不区分大小写
   blooean startsWith()  是否以指定的字符串开头
   blooean endsWith()  是否以指定的字符串结尾
   blooean contains()  判断某个字符串是否包含指定的字符串
   blooean isEmpty()  判断字符串是否为空

 获取功能
 int length()    获取字符串长度
 char charAt(int index)   返回字符串在指定索引处的字符
 int indexOf(int ch)   返回字符串在指定字符第一次出现的索引
 int indexOf(String str)   返回字符串在指定字符串第一次出现的索引
 int indexOf(int ch,int fromIndex) 返回字符串在指定字符第一次出现的索引,从指定索引开始搜索
 int indexOf(String str,int fromIndex) 返回字符串在指定字符串第一次出现的索引,从指定索引开始搜索
 String substring(int start)  返回从指定位置开始截取的字符串
 String substring(int start,int end) 返回从指定位置开始到指定位置结束的字符串
 转换功能
 byte[] getBytes()   把字符串换成字节数组
 char[] toCharArray()   把字符串换成字符数组
 static String copyValueOf(char[] chs) 把字符数组转换成字符串
 static String valueOf(char[] chs) 把字符数组转换成字符串
 static String valueOf(int i)  把int数据转换成字符串
 String toLowerCase()   把字符串变成大写
 String toUpperCase()   把字符串变成小写
 String concat(String str)  拼接字符串

 其他功能
  替换功能
 String replace(char oldChar,char newChar)
 String replace(String oldString,String newString)
  切割功能
 String[] split(String regex)   
  去除两端空格功能
 String trim() 
  字典顺序比较功能
 int compareTo(String str)
 int compareToIgnoreCase(String str)
 
  练习:给定一个字符串,把它变成首字母大写,其他字母小写的字符串.
 String s = "afasfHaADSASFasf";
 hsop(s.substring(0,1).toUpperCase().concat(s.substring(1).toLowerCase()));
   
==和equals什么时候使用:
 1:比较基本数据类型的时候使用 ==
 2:比较引用数据类型的时候用
 == 表示比较的是对象的地址值
 equals 没有重写Object的方法,比较的是地址值.
 重写了Object的方法,比较的是什么,根据重写来定.
面试题:
写出以下代码执行结果,分析为什么?(没有分析结果不得分)

public class Test {
 public static void main(String[] args) {
  String s = "abc";
  s.substring(1);
  s.replace("bc", "xyz");
  System.out.println(s); //答案是 abc
  String value = new String ("abc");
  System.out.println(s == value);  //答案是:false
          }

 结论:
  1:字符串一旦初始化就不能改变;
  2: == 比较引用类型时比较的是地址值

---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值