黑马程序员_String


                                   -----------  android培训 java培训 、java学习型技术博客、期待与您交流! ------------

1:String(字符串)类
(1)有很多字符组成的字符序列叫做字符串.
(2)创建字符串的对象
A:直接给字符串对象赋值
String s = "Hello";
B:通过构造方法传递字节数组参数
byte[] bys = {97,98,99,100,101};
String s = new String(bys);
String s = new String(bys,1,3); //从1开始,取得3个
C:通过构造方法传递字符数组参数
char[] chs = {'h','e','l','l','o'};
String s = new String(chs);
String s = new String(chs,1,3);

面试题:
String s1 = "haha";
String s2 = "haha";
sop(s1==s2);
sop(s1.equals(s2));

String s3 = new String("haha");
sop(s1==s3);
sop(s1.equals(s3));


==和equals什么时候使用:
1:比较基本数据类型的时候使用 ==
2:比较引用数据类型的时候用 
 == 表示比较的是对象的地址值
 equals 没有重写Object的方法,比较的是地址值.
重写了Object的方法,比较的是什么,根据重写来定.

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

练习:模拟登录,给三次机会,并提示还有几次.

B:获取
**charAt 获取指定索引处的字符
**length 获取字符串的长度
***注意: 数组length属性,字符串有length方法.
**indexOf 获取指定字符/字符串第一次出现的索引
 indexOf(char/String,fromIndex) 从指定位置开始 获取指定字符/字符串第一次出现的索引
 
 lastIndexOf
 lastIndexOf(char/String,formIndex)
**substring(int index) 从指定位置到末尾截取字符串.
 subString(int beginIndex,int endIndex) 从指定开始位置,到指定的末尾位置,截取字符串.
***注意: 左闭右开.

练习:给定一个字符串统计,统计大写字母,小写字母,数字出现的个数.
***注意:不包括特殊字符
C:转换
**getBytes 把字符串转换成一个字节数组
**toCharArray 把字符串转成一个字符数组  重点
**static String copyValueOf(char[] data) 
          返回指定数组中表示该字符序列的 String。 
 static String copyValueOf(char[] data, int offset, int count) 
          返回指定数组中表示该字符序列的 String。 
**把基本数据类型转成字符串 次重点
int x = 3;
如何得到字符串呢: x+""
现在怎么写? String.valueOf(x)
**toUpperCase  把字符串中所有字符串转成大写
**toLowerCase  把字符串中所有字符串转成小写
**concat 字符串的连接

练习:给定一个字符串,把它变成首字母大写,其他字母小写的字符串.
***链式编程
***String s = "afassfHaADSIOPFUAASFasfd";
  sop(s.substring(0,1).toUpperCase().concat(s.substring(1).toLowerCase()));
D:其他
**替换 replace(char oldChar,char newChar)
      replace(String oldString,String newString)
**切割
      String[] split(String str)
**去除字符串两端的空格
String trim()
**按照字典(自然,a-z)顺序对字符串进行比较.
compareTo


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值