前提须知
使用API的基本步骤【3步】:
①导包
②创建对象
③使用
一、String类【java.util.String】【重点】
1、概念:String类中包括用于检查各个字符串的方法,比如用于比较字符串,搜索字符串,提取子字符串以及创建具 有翻译为大写或小写的所有字符的字符串的副本。
【此包可以不用导包】
在java.lang下的类,可以不用导包
2、查看构造方法:
String() 创建一个空的字符串对象
String(String original) 根据字符串来创建一个字符串对象
String(char[] value) 通过字符数组来创建字符串对象
String(byte[] bytes) 通过字节数组来构造新的字符串对象
String(byte[] bytes, int offset, int length) 通过字节数组一部分来构造新的字符串对象
3、String特点
1)、字符串不变:字符串的值在创建后不能被更改。
2)、因为String对象是不可变的,所以它们可以被共享。
4、常用方法
【判断方法】
【1】 public boolean equals (Object anObject) :将此字符串与指定对象进行比较。
【2】 public boolean equalsIgnoreCase (String anotherString) :将此字符串与指定对象进行比较,忽略大小写。
【获取方法】
【1】 public int length () :返回此字符串的长度。
【2】 public String concat (String str) :将指定的字符串连接到该字符串的末尾。
【3】public char charAt (int index) :返回指定索引处的 char值。
【4】 public int indexOf (String str) :返回指定子字符串第一次出现在该字符串内的索引。
【5】public String substring (int beginIndex) :返回一个子字符串,从beginIndex开始截取字符串到字符 串结尾。
【6】 public String substring (int beginIndex, int endIndex) :返回一个子字符串,从beginIndex到 endIndex截取字符串。含beginIndex,不含endIndex。
【转换方法】
【1】public char[] toCharArray () :将此字符串转换为新的字符数组。
【2】public byte[] getBytes () :使用平台的默认字符集将该 String编码转换为新的字节数组。
【3】public String toLowerCase() :使用默认语言环境的规则将此 String所有字符转换为小写。
【4】public String toUpperCase() :将此 String所有字符转换为大写,使用默认语言环境的规则。
【5】public String replace (CharSequence target, CharSequence replacement) :将与target匹配的字符串使 用replacement字符串替换。
【分割方法】
public String[] split(String regex) :将此字符串按照给定的regex(规则)拆分为字符串数组。
5、常量池
简介:常量池也是JVM中的一块内存区域,在JDK1.6及以前,常量池是存储在方法区的,在JDK1.7之和,常量池被划分到 了堆内存。常量池的东西只会保存一份
【直接等号出来的字符串是在堆中的常量池中】
【new出来的字符串是在堆内存内,常量池外】
二、static关键字
概述:关于 static 关键字的使用,它可以用来修饰的成员变量和成员方法,被修饰的成员是属于类的,而不是单单是属 于某个对象的。也就是说,既然属于类,就可以不靠创建对象来调用了。
1、格式:
static 数据类型 变量名;
static int numberID;
2、【注意事项】【重要】
静态方法【不能】直接访问非静态方法。
非静态方法【可以】直接访问静态方法。
静态方法【可以】访问静态方法。
静态方法【只能】访问静态成员。
静态方法中,【不能】使用this关键字。
3、调用格式
类名.类变量名
类名.静态方法名(参数)
4、static 修饰的内容:
是随着类的加载而加载的,且只加载一次。
存储于一块固定的内存区域(静态区),所以,可以直接被类名调用。
它优先于对象存在,所以,可以被所有对象共享。
5、静态代码块
静态代码块:定义在成员位置,使用static修饰的代码块{ }。
【位置】:类中方法外。
【执行】:随着类的加载执行,而执行且执行一次。
格式:
public class ClassName {
static {
//执行语句
}
}
小贴士: static 关键字,可以修饰变量、方法和代码块。在使用的过程中,其主要目的还是想在不创建对象的情况 下,去调用方法。下面将介绍两个工具类,来体现static 方法的便利。
三、Arrays类【java.util.Arrays】
概述:此类包含用来操作数组的各种方法,比如排序和搜索等。其所有方法均为静态方法,调用起来 非常简单。
1、操作数组的方法
public static String toString(int[] a) :返回指定数组内容的字符串表示形式。
例题:
public static void main(String[] args) {
int[] arr={
24,546,7,5678,58,76,83,45,435,34};
System.out.println(arr); //[I@1540e19d
//将数组转换成字符串
String str = Arrays.toString(arr); //[24, 546, 7, 5678, 58, 76, 83, 45, 435, 34]
System.out.println(str);
}
public static void sort(int[] a) :对指定的 int 型数组按数字升序进行排序。
例题:
public static void main(String[] args) {
int[] arr={
24,546,7,5678,58,76,83,45,435,34};
System.out.println("排序前: "+Arrays.toString(arr)); //将数组升序排序
Arrays.sort(arr); System.out.println("排序后: "+Arrays.toString(arr));
}
四 、Math类【java.lang.Math】
小提示:在java.lang下的类可以不用导包
概念:该类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。类似这样的工具 类,其所有方法均为静态方法,并且不会创建对象,调用起来非常简单。
使用方法:
【1】public static double abs(double a) :返回 double 值的绝对值。
【2】public static double ceil(double a) :返回大于等于参数的最小的整数。(向上取整)
【3】public static double floor(double a) :返回小于等于参数最大的整数。(向下取整)
【4】public static long round(double a) :返回最接近参数的 long。(相当于四舍五入方法)
作业:链接:https://pan.baidu.com/s/1iPZV3gJ83UjVsCgi_K_M2Q
提取码:v2pg
答案:
public class Text01 {
public static void main(String[] args) {
String str1 = new String("你好");
System.out.println(str1);
String str2 = "hello";
System.out.println(str2);
String str3 = "abcde";
System.out.println(str3);
}
}
public class Text08 {
public static void main(String[] args) {
String str = "javajfiewjavajfiowfjavagkljjava";
System.out.println("字符串java的数量:" + getCount(str, "java"));
}
public static int getCount(String str, String ch) {
int count = 0;
while (str.indexOf(ch) != -1) {
int i = str.indexOf(ch);
str = str.substring(i + ch.length());
count++;
}
return count;
}
}
public class Text09 {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("dad");
list.add("xwfa");
list.add("gwfv");
list.add("ddaa ");
list.add("你好呀");
list.add("你好啊我来了");
list.add("别跑啊");
System.out.print("源ArrayList:");
System.out.print("[");
for (int i = 0; i < list.size(); i++) {
System.out.print(list.get(i)+",");
}
System.out.println("]");
list(list);
}
public static void list(ArrayList<String> list) {
for (int i = 0; i < list.size(); i++) {
if (list.get(i).length() > 4) {
list.remove(i);
}
}
System.out.print("删除后ArrayList:");
System.out.print("[");
for (int i = 0; i < list.size(); i++) {
System.out.print(list.get(i)+",");
}
System.out.println("]");
}
}