小新学Java5-【String类、static关键字、Arrays类、 Math类】
一、String类
1.String类概述
创建字符串的3+1种方式:
三种构造方法:
①public String():创建一个空白字符串,不含任何内容。
②public String(char[] array):根据字符数组的内容,来创建对应的字符串
③public String(byte[] array):根据字节数组的内容,来创建对应的字符串
一种直接创建:
String str = "Hello";
注意:直接写上双引号,就是字符串对象。
2.字符串常量池:程序当中直接写上的双引号字符串,就在字符串常量池中。
对于基本类型来说,==是进行数值的比较。
对于引用类型来说,==是进行地址值的比较。
2.常用方法
2.1判断功能的方法
==是进行对象的地址值比较,如果确实需要字符串的内容比较,可以使用两个方法:
①public boolean equals(Object obj):参数可以是任何对象,只有参数是一个字符串并且内容相同的才会给true;否则返回false。
注意事项:
1)任何对象都能用Object进行接受
2)equals方法具有对称性,也就是a.equals(b)和b.equals(a)效果一样
3)如果比较双方一个常量一个变量,推荐把常量字符串写在前面
推荐:"abc".equals(str) 不推荐“str.equals("abc")
②public boolean equalsIgnoreCase(String str):忽略大小写进行内容的比较
2.2获取功能的方法
public int length () :返回此字符串的长度。public String concat (String str) :将指定的字符串连接到该字符串的末尾。public char charAt (int index) :返回指定索引处的 char值。public int indexOf (String str) :返回指定子字符串第一次出现在该字符串内的索引。public String substring (int beginIndex) :返回一个子字符串,从beginIndex开始截取字符串到字符串结尾。public String substring (int beginIndex, int endIndex) :返回一个子字符串,从beginIndex到endIndex截取字符串。含beginIndex,不含endIndex。
2.3转换功能的方法
public char[] toCharArray () :将此字符串转换为新的字符数组。public byte[] getBytes () :使用平台的默认字符集将该 String编码转换为新的字节数组。public String replace (CharSequence target, CharSequence replacement) :将与target匹配的字符串使用replacement字符串替换。备注:CharSequence 是一个接口,也是一种引用类型。作为参数类型,可以把String对象传递到方法中。(CharSequence说明可以接受字符串类型。)
2.4分割功能的方法
public String[] split(String regex) :将此字符串按照给定的regex(规则)拆分为字符串数组。
注意:split方法的参数其实是一个”正则表达式“。
二、static关键字
1.概述:关于 static 关键字的使用,它可以用来修饰的成员变量和成员方法,被修饰的成员是属于类的,而不是单单是属于某个对象的。也就是说,既然属于类,就可以不靠创建对象来调用了。

1.1类变量
当 static 修饰成员变量时,该变量称为类变量。该类的每个对象都共享同一个类变量的值。任何对象都可以更改该类变量的值,但也可以在不创建该类的对象的情况下对类变量进行操作。
类变量(静态变量):使用 static关键字修饰的成员变量。
定义格式:
static 数据类型 变量名;
1.2静态方法
当 static 修饰成员方法时,该方法称为类方法 。静态方法在声明中有 static ,建议使用类名来调用,而不需要创建类的对象。调用方式非常简单。
类方法:使用 static关键字修饰的成员方法,习惯称为静态方法。
定义格式:
修饰符 static 返回值类型 方法名 (参数列表){// 执行语句}
静态方法调用的注意事项:
①静态不能直接访问非静态。
原因:因为在内存中先有的静态内容,后有的非静态内容。
②静态方法中不能用this
原因:this代表当前对象,通过谁调用的方法谁就是当前对象。
小贴士:静态方法只能访问静态成员。
调用格式
被static修饰的成员可以并且建议通过类名直接访问。虽然也可以通过对象名访问静态成员,原因即多个对象均属于一个类,共享使用同一个静态成员,但是不建议,会出现警告信息。
格式:
// 访问类变量类名.类变量名;// 调用静态方法类名.静态方法名(参数);
1.3静态static的内存图

1.4静态代码块
静态代码块:定义在成员位置,使用static修饰的代码块{ }。
位置:类中方法外。
执行:随着类的加载而执行且执行一次,优先于main方法和构造方法的执行。
静态内容总是优于非静态,所以静态代码块比构造方法先执行。
格式:
public class ClassName{static {// 执行语句}}
作用:给类变量进行初始化赋值。
三、数组工具类-------------------Arrays类1.概述:java.util.Arrays 此类包含用来操作数组的各种方法,比如排序和搜索等。其所有方法均为静态方法,调用起来非常简单。
2.操作数组的方法
①public static String toString(int[] a) :返回指定数组内容的字符串表示形式。
②public static void sort(int[] a) :对指定的 int 型数组按数字升序进行排序。
四、Math类
1.java.lang.Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。类似这样的工具类,其所有方法均为静态方法,并且不会创建对象,调用起来非常简单。
2.基本的运算方法
①public static double abs(double a) :返回 double 值的绝对值。
double d1 = Math.abs(‐5); //d1的值为5double d2 = Math.abs(5); //d2的值为5
②public static double ceil(double a) :返回大于等于参数的最小的整数(向上取整)。
double d1 = Math.ceil(3.3); //d1的值为 4.0double d2 = Math.ceil(‐3.3); //d2的值为 ‐3.0double d3 = Math.ceil(5.1); //d3的值为 6.0
③public static double floor(double a) :返回小于等于参数最大的整数(向下取整)。
double d1 = Math.floor(3.3); //d1的值为3.0double d2 = Math.floor(‐3.3); //d2的值为‐4.0double d3 = Math.floor(5.1); //d3的值为 5.0
④public static long round(double a) :返回最接近参数的 long。(相当于四舍五入方法)
long d1 = Math.round(5.5); //d1的值为6.0long d2 = Math.round(5.4); //d2的值为5.0
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!