2022-07-20 第六组 李俊琦 关键字和封装
String类
今日重点
1.比较字符串的内容
2.字符串的操作
3.包装器类型(包装类,封装类)
学习内容
比较字符串的内容
equals方法:
1.需要传参,传String类型的参数
2.有,返回值是boolean类型
3.访问权限public
System.out.println(s3.equals(s4));
Length方法
1.不需要传参
2.有返回值,整型int
3.访问权限public
数组的length是属性,
字符串的length()是方法
System.out.println(s1.length());
System.out.println(arr.length);
取出指定下标位置的字符
点击查看代码
public static void main(String[] args) {
String s1 = "abcdefg";
System.out.println(s1.charAt(0));
Scanner sc = new Scanner(System.in);
char c = sc.next().charAt(0);
字符串转int要+1
System.out.println(c + 1);
}
判断当前字符串是否存在
public static void main(String[] args) {
String s1 = "abcdefgabcdaaa";
s1.indexOf('a');
// 判断指定字符串是否存在,返回值为字符串在s1的下标
// 返回从左到右遇到的第一个匹配的下标
// 如果不存在。返回-1
// indexOf(String,int)代表从int位置开始查找,包括当前位置
// System.out.println(s1.indexOf("a",8));
// 从后往前找
System.out.println(s1.lastIndexOf("a",12));
}
字符串的截取
点击查看代码
public static void main(String[] args) {
// 字符串的截取
String str = "abcdefghijklmn";
/*
如果传一个参数,从指定位置开始截取,直到字符串的末尾
考虑一下?
包不包括1位置的字符,包括起始位置的字符
生成一个新的字符串,不会改变原有数据
*/
String s = str.substring(1);
// bc or b
// 包含起始位置,不包含终止位置
s = str.substring(1,2);
System.out.println(s);
}
返回一个新的字符串
点击查看代码
// 转大写
System.out.println(str.toUpperCase());
// 转小写
System.out.println(str.toLowerCase());
// 判断是否以xxxx开头
System.out.println(str.startsWith("a",2));
// 判断是否以xxxx结尾
System.out.println(str.endsWith("F"));
// 忽略大小写进行比较内容
// 验证码
System.out.println(str.equalsIgnoreCase(str1));
// 去掉字符串前后的空格
System.out.println(str1.trim());
// 根据指定的字符分割,分割之后,分割条件是消失
String [] strings = str2.split(",");
// System.out.println(Arrays.toString(strings));
for (String string : strings) {
System.out.println(string);
字符串的替换
public static void main(String[] args) {
String str = "hello";
System.out.println(str.replaceAll("l", "i"));
}
数组转字符串
int [] arr = new int[]{1,2,3,4,5};
int i= 10;
把int类型转成字符串(推荐)
String s = String.valueOf(i);
s = new String(i);
字符串转数组
点击查看代码
String str = "abcdefg";
转成字符型的数组
// char[] array = str.toCharArray();
// for (char c : array) {
// System.out.println(c);
// }
// 转成字节型数组
// 一般情况下,字节型数组在操作文件的时候常用的IO流
byte[] bytes = str.getBytes();
for (byte b : bytes) {
System.out.println(b);
}
包装类型
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean
原理:
(自动)装箱:把int类型包装成了包装器Integer类型。基本数据类型转换成对应的包装器类型
(自动)拆箱:把Integer类型转换成int类型。包装器类型转换成对应的基本数据类型
JDK5以后的新功能:
1.自动装箱和自动拆箱
2.增强for循环(foreach)
3.枚举(switch case)
JDK7以后的新功能:
Switch...case可以用String
装箱:
Integer i2 = Integer.valueOf(50);
拆箱
int ii2 = i2.intValue();

浙公网安备 33010602011771号