一、String类
1、字符串概述与特点
2、字符串的构建方法和直接创建
package huaiwen.com.day12.demo01;
import java.sql.SQLOutput;
public class Demo01String {
public static void main(String[] args) {
//使用空参构造
String str1 = new String();//小括号留空,说明字符串什么内容都没有。
System.out.println("第1个字符串:" + str1);
//根据字符数组创建字符串
char[] charArray = {'A', 'B', 'C'};
String str2 = new String(charArray);
System.out.println("第2个字符串:" + str2);
//根据字节数组创建字符串
byte[] byteArray = {97, 98, 99 };
String str3 = new String(byteArray);
System.out.println("第3个字符串:" + str3);
//直接创建
String str4 = "Hello!";
System.out.println("Hello!");
}
}
3、字符串的常量池
4、字符串的比较相关方法
package huaiwen.com.day12.demo02;
public class Demo01StringEquals {
public static void main(String[] args) {
String str1 = "Hello";
String str2 = "Hello";
char[] charArray = {'H', 'e', 'l' , 'l', 'o'};
String str3 = new String(charArray);
System.out.println(str1.equals(str2));//true
System.out.println(str2.equals(str3));//true
System.out.println(str3.equals("Hello") );//true
System.out.println("Hello".equals(str1));//true
String str4 = "hello";
System.out.println(str1.equals(str4));//false
System.out.println("==========");
/*String str5 = null;
System.out.println("abc".equals(str5));//推荐:false
System.out.println(str5.equals("abc"));//不推荐:报错,空指针异常NullPointException
System.out.println("==========");
*/
String strA = "Java";
String strB = "java";
System.out.println(strA.equals(strB));//false,严格区分大小写
System.out.println(strA.equalsIgnoreCase(strB));//true,忽略大小写
//只有英文字母区分大小写,其他都不区分大小写
System.out.println("abc一123".equalsIgnoreCase("abc壹123"));//false
}
}
5、字符串获取相关方法
package huaiwen.com.day12.demo02;
public class Demo02StringGet {
public static void main(String[] args) {
//获取字符串的长度
int length = "adfawefwefawefawe".length();
System.out.println("字符串长度是:" + length);
//拼接字符串
String str1 = "Hello";
String str2 = "World";
String str3 = str1.concat(str2);
System.out.println(str1);//Hello,原封不动
System.out.println(str2);//World,原封不动
System.out.println(str3);//HelloWorld,新的字符串
System.out.println("=========");
//获取指定索引位置的单字符
char ch = "Hello".charAt(1);
System.out.println("再1号索引位置的字符是:" + ch);
System.out.println("===========");
//查找参数字符串再本来字符串当中出现的第一次索引位置
//如果根本没有,返回值-1值
String original = "HelloWorldHelloWorld";
int index = original.indexOf("llo");
System.out.println("第一次索引值是:" + index);//2
System.out.println("HelloWorld".indexOf("abc"));//-1
}
}
6、字符串的截取方法
7、字符串的转换相关方法
8、字符串的分割方法
9、按指定格式拼接字符串
package huaiwen.com.day12.demo02;
public class Demo02StringGet {
public static void main(String[] args) {
int[] array = {1, 2, 3};
String result = fromArrayToString(array);
System.out.println(result);
}
public static String fromArrayToString(int[] array) {
String str = "[";
for (int i = 0; i < array.length; i++) {
if (i == array.length - 1) {
str += "word" + array[i] + "]";
} else {
str += "word" + array[i] + "#";
}
}
return str;
}
}
10、统计输入的字符串中字符出现的次数
二、static静态
1、静态static关键字概述
2、静态static关键字修饰成员变量
Student类
package huaiwen.com.day12.demo03;
public class Student {
private int id;
private String name;
private int age;
static String rome;
private static int idCounter = 0;//学号计数器,每当new了一个新对象的时候,计数器++
public static() {
this.id = ++idCounter;
}
public Student(String name, int age) {
this.name = name;
this.age = age;
this.id = ++idCounter;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
3、静态static关键字修饰成员方法
MyClass类
package huaiwen.com.day12.demo03;
public class MyClass {
public void method() {
System.out.println("这是一个普通的成员方法。");
}
public static void methodStatic() {
System.out.println("这是一个静态方法。");
}
}
4、静态static的内存图
5、静态代码块
三、Arrays工具类
练习
四、Math工具
练习