所有的基本类型,都有对应的类类型。比如int对应的类是Integer,这种类就叫做封装类
1.Number类
包含的子类:Byte,Short,Integer,Long,Float,Double
讲到这个必须要了解一下“自动装箱”和“自动拆箱”的概念了!
自动装箱 基本类型 -->类类型
不需要调用构造方法,通过=符号自动把 基本类型 转换为 类类型 就叫装箱
int i = 5;
Integer it = new Integer(i); //基本类型转换成封装类型
Integer it2 = i; //自动转换就叫装箱
自动拆箱 类类型 -->基本类型
可以直接将类类型的元素赋给“=”一个基本类型的变量。不需要调用Integer的intValue方法
int i = 5;
Integer it = new Integer(i);
int i2 = it.intValue(); //封装类型转换成基本类型
int i3 = it; //自动转换就叫拆箱
每一个封装类 有很多方法,查手册了解
2.格式化输出
首先,了解一下 prinf 和 format 一样的。
%s 表示字符串
%d 表示数字
%n 表示换行
String sentenceFormat ="%s 在进行了连续 %d 次击杀后,获得了 %s 的称号%n";
//使用printf格式化输出
System.out.printf(sentenceFormat,name,kill,title);
//使用format格式化输出
System.out.format(sentenceFormat,name,kill,title);
3. String
- 在Java中,字符串是一个类,所以我们见到的字符串都是对象。当创建一个String对象并给它赋值后,
不可再改变。 - 可以用
+进行字符串的连接。String day = nian + yue + ri; - 格式化字符串
String sentenceFormat ="%s 在进行了连续 %d 次击杀后,获得了 %s 的称号%n"; - 常用方法
String sentence = “ab,cd.ef,gb”;
| 方法 | 含义 | 举例 |
|---|---|---|
| charAt(int index) | 获取指定位置的字符 | char a = sentence.charAt(0); // a= ‘a’; |
| toCharArray() | 获取对应的字符数组 | char[] c2a = sentence.toCharArray(); |
| subString | 截取子字符串 | String subString1 = sentence.substring(5); String subString2 = sentence.substring(3,5); |
| split | 根据分隔符进行分隔 | String subSentences[] = sentence.split(","); |
| trim | 去掉首尾空格 | sentence.trim(); |
| toLowerCase | 全部变成小写 | sentence.toLowerCase(); |
| toUpperCase | 全部变成大写 | sentence.toUpperCase(); |
| indexOf | 判断字符或者子字符串第一次出现的位置 | sentence.indexOf(‘b’); // =1; |
| lastIndexOf | 判断字符或者子字符串最后一次出现的位置 | sentence.indexOf(‘b’);; // =10; |
| contains | 是否包含子字符串 | sentence.contains(“ab”); ; //ture; |
| replaceAll | 替换所有的 | sentence.replaceAll(“a”, “t”); |
| replaceFirst | 只替换第一个 | sentence.replaceFirst(“a”, “t”); |
| equals | 进行字符串内容的比较,必须大小写一致 | str1.equals(str2); // ture or false |
| equalsIgnoreCase | 忽略大小写判断内容是否一致 | str1.equalsIgnoreCase(str3); // ture or false |
| startsWith | 判断该字符串是否以另以字符串开始 | s1.startsWith(s2); // ture or false |
| endsWith | 判断该字符串是否以另以字符串结束 | s1.startsWith(s2); // ture or false |
| randomString | 随机字符串 | String s = randomString(10); 长度为10的随机串 |
4. StringBuffer
-
String类是创建后就不可改动,所以是定长的。
StringBuffer的区别为:是可变长的。它可变的机制是因为,创建一个StringBuffer对象后,相对比你初始化的赋值(比如“aaa"),系统留有冗余长度,方便后续的追加、插入等。当冗余长度被填满后,就会分配一个新的数组,长度比原来多一些,把原来的数据复制到新的数组中,看上去 数组长度就变长了。 -
常用方法
StringBuffer s = new StringBuffer(“abcdefg”);
| 方法 | 意义 | 举例 |
|---|---|---|
| append | 追加 | s.append(" + h"); // s = abcdefg + h; |
| delete | 删除 | s.delete(2, 3); // 从第2个开始删,到第3个截止(此个不删) s =abdefg; |
| insert | 插入 | s.insert(0, 123); // s = 123abcdefg; |
| reverse | 反转 | s.reverse(); // s = gfedcba; |