Java基础知识_毕向东_Java基础视频教程笔记(13)

时间:2023-02-11 14:45:58

13天-01-String
  String类适用于描述字符串事物
  常见的操作:
1.获取:
  1.1字符串中包含的字符数,也就是字符串的长度。int length():获取长度
  1.2根据索引值获取位置上某个字符。char charAt(int index);
  1.3根据字符获取该字符在字符串中的位置
  int indexOf(int ch);返回的是ch在字符串中第一次出现的位置。
  int indexOf(int ch,int fromIndex);从fromIndex指定位置开始,获取ch在字符串中出现的位置。
  int indexOf(String str);返回的是str在字符串中第一次出现的位置。
  int indexOf(String str,int fromIndex);从fromIndex指定位置开始,获取str在字符串中出现的位置。
  int lastIndexOf(String str);从最后向前查找str第一次出现的位置。

2.判断
  2.1字符串中是否包含某一个子串。boolean contains(str);
  特殊:indexOf(str);可以索引str第一次出现位置,如果返回-1,表示该str不在字符串中存在。也可以用于判断是否包含子串
  2.2字符中是否有内容。      boolean isEmpty(); //原理是判断长度是否为0
  2.3字符串是否以指定内容开头。  boolean startsWith(str);
  2.4字符串是否是以指定内容结尾。  boolean endsWith(str);
  2.5判断字符串内容是否相同,复写了Object类中的equals方法。 boolean equals(str);
  2.6判断内容是否相同,并忽略大小写。   boolean equalsIgnoreCase();

3.转换
  3.1将字符数组转成字符串。
  构造函数:String(char[]);    String(char[],offset,count);将字符数组中的一部分转成字符串。
  静态方法:static String copyValueOf(char[]);  static String copyValueOf(char[],offset,count);
       static String valueOf(char[]);
  3.2将字符串转成字符数组。char[] toCharArrary();
  3.3将字节数组转成字符串。String(byte[]);String(byte[],offset,count);//将字节数组中的一部分转成字符串。
  3.4将字符串转成字节数组。byte[] getBytes();
  3.5将基本数据类型转成字符串。static String valueOf(int); static String valueOf(double);
  特殊:字符串和字节数组在转换过程中,是可以指定编码表的。

4.替换
  String replace(oldchar,newchar);//如果替换的字符不存在,返回的是原字符串。
5.切割
  String[] split(regex); //按照regex分割为多个子字符串,不包含regex
6.子串:获取字符串中的一部分
  String substring(begin);//截取从指定位置开始到结尾字符串
  String substring(begin,end);//截取从索引begin到end之间的字符串
7.转换,去除空格,比较
  7.1将字符串转成大写或者小写。String toUpperCase();String toLowerCase();
  7.2将字符串两端的多个空格去除。String trim();
  7.3对两个字符串进行自然顺序比较。int compareTo(string)

StringBuffer是字符串缓存区,就是一个容器。而且长度是可变化的,可以操作多种数据类型,最终会通过toString方法变成字符串。
C create U update R read D delete
1.存储
  StringBuffer append();将指定数据作为参数添加到已有数据结尾处。
  StringBuffer insert(index,data):可以将数据插入到指定index位置。
2.删除
  StringBuffer delete(start,end);删除缓冲区中的数据,包含start,不包含end。
  StringBuffer deleteCharAt(index);删除指定位置的字符。
3.获取
  char charAt(int index);
  int indexOf(String str);
  int lastIndexOf(String str);
  int length();String substring(start,end);
4.修改
  StringBuffer replace(start,end,string);
  void setCharAt(index,char ch);
5.反转
  StringBuffer reverse();
6.将缓冲区中指定数据存储到指定字符数组中
  void getChars(int srcBegin,int srcEnd,char[] dst,int dstBegin)    JDK1.5版本之后,出现了StringBuilder。StringBuffer是线程同步的,StringBuilder是线程不同步的。建议使用StringBuilder。JDK升级主要是在 提高效率,简化书写,提高安全性

13天-13-基本数据类型对象包装类
基本数据类型对象包装类
byte       Byte    字节    8bit   [-128,127]
short    Short    短整型   16bit   [-32768(-2的15次方),32767(2的15次方-1)]
int       Integer    整型    32bit  [-2147483648(-2的31次方),2147483647(2的31次方-1)]
long      Long    长整型   64bit  [-9223372036854775808(-2的63次方),9223372036854775807(2的63次方-1)]
float     Float     浮点型   32bit  [1.4E-45(2的-149次方),3.4028235E38(2的128次方-1)]
double   Double     双精度   64bit  [4.9E-324(2的-1074次方),1.7976931348623157E308(2的1024次方-1)]
char    Character   字符    16bit
boolean   Boolean   布尔值    true,false0是false,非0是true

基本数据类型对象包装类的最常见作用,就是用于基本数据类型和字符串类型之间做转换
基本数据类型转成字符串:
  基本数据类型+"";包装数据类型.toString(2); Integer.toString(2);
字符串转成基本数据类型:
  Integer.parseInt(String);
  Integer i=new Integer("2"); int num=i.intValue();
十进制转成其他进制
  toBinaryString();    toHexString();  toOctalString();
其他进制转成十进制
  parseInt(String,radix);  //radix进制数,可以是2~36

注:当数值类型(int)在byte范围时[-128,127],如果该数值已经存在,则不会开辟新的空间。