java基础:6.3 封装类、Number类、格式化输出、String
所有的基本类型
,都有对应的类类型
。比如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; |