基础
-
java一次编译此次运行
-
Documentation 说明书
-
java运行的是字节码
-
看jdk是否成功 cmd java -version
-
概念: JDK中常用的两个可执行程序,一个叫java.exe,一个叫javac.exe
-
java -help 查看java更多命令
-
格式是:
变量类型 变量名; -
类三要素:class关键字 类名 类体
-
方法的四要素:返回值类型 方法名 参数列表 方法体
-
变量的三要素:变量类型:变量名:变量值。
-
yyyy MM dd hh mm ss 年月日时分秒
-
由小到大自动转,由大到小需强转
-
JVM内存运行时数据区
-
排好序的数组才能是用二分法
-
看到static 共享且唯一
-
if switch 如果条件少于5个 用if更快,反之用switch更快
-
if (a==1) else if (a==2) else if(a==3)
-
a -> PC寄存器读取 3次交互
-
switch(a) case 1: case 2: case 3:
-
a- > PC寄存器读取 1次交互 循环满足 初判变
-
初:初始化变量(只执行一遍)
-
判:循环判断条件(只有满足条件的时候才执行循环)
-
变:每次循环体结束之后将执行变量的变化
正则 普通字符 限定个数字符。特殊字符:元字符
数据类型
方法
charAt(int index)
- 返回 char指定索引处的值。
char num = "abcderf".charAt(5);
System.out.println(num);
返回值为 r
concat(String str)
- 将指定的字符串连接到该字符串的末尾。
String str = "hello world!";
// 用什么变量来接JVM是知道的,所以使用alt+enter来自动生成
String result = str.concat("today");
System.out.println(result);
返回值为 hello world!today
equals(Object anObject)
- 将此字符串与指定对象进行比较。
String strA = "abab";
String strB = "ABAB";
boolean result = strA.equals(strB);
System.out.println(result);
返回值 false
contains(CharSequence s)
- 当且仅当此字符串包含指定的char值序列时才返回true。
String str = "abab";
boolean result = str.contains("ba");
System.out.println(result);
返回值 true
substring(int beginIndex, int endIndex)
- 返回一个字符串,该字符串是此字符串的子字符串。
String str = "abab";
String result = str.substring(1, 3);
System.out.println(result);
返回值 ba
equalsIgnoreCase(String anotherString)
- 将此 String与其他 String比较,忽略案例注意事项。
String strA = "abab";
String strB = "ABAB";
boolean result = strA.equalsIgnoreCase(strB);
System.out.println(result);
返回值 true
indexOf(String str)
- 返回指定子字符串第一次出现的字符串内的索引。
String str = "abab";
int result = str.indexOf("a");
System.out.println(result);
返回值 0
indexOf(String str, int fromIndex)
- 返回指定子串的第一次出现的字符串中的索引,从指定的索引开始。
String str = "abaabbbb";
int result = str.indexOf("b",2);
System.out.println(result);
返回值 4
isEmpty()
- 返回 true如果,且仅当 length()为 0 。
String str = "";
boolean result = str.isEmpty();
System.out.println(result);
返回值 true
length()
- 返回此字符串的长度。
String str = "hello world!";
int result = str.length();
System.out.println(result);
返回值 12
2级
endsWith(String suffix)
- 测试此字符串是否以指定的后缀结尾。
String str = "abab";
boolean result = str.endsWith("ba");
System.out.println(result);
返回值 false
lastIndexOf(String str)
- 返回指定子字符串最后一次出现的字符串中的索引。
String str = "abab";
int result = str.lastIndexOf("a");
System.out.println(result);
返回值 2
replace(char oldChar, char newChar)
- 将与字面目标序列匹配的字符串的每个子字符串替换为指定的字面替换序列。
String str = "abab";
String result = str.replace("a", "kkk");
System.out.println(result);
返回值 kkkbkkkb
startsWith(String prefix)
- 测试此字符串是否以指定的前缀开头。
String str = "abab";
boolean result = str.startsWith("ab");
System.out.println(result);
返回值 true
toLowerCase()
- 将所有在此字符 String使用默认语言环境的规则,以小写。
String str = "ABAB";
String result = str.toLowerCase();
System.out.println(result);
返回值 abab
toUpperCase()
- 将所有在此字符 String使用默认语言环境的规则大写
String str = "abab";
String result = str.toUpperCase();
System.out.println(result);
返回值 ABAB
trim()
- 返回一个字符串,其值为此字符串,并删除任何前导和尾随空格。
String str = " AB AB ";
String result = str.trim();
System.out.println(result);
返回值 AB AB
静态
format()
String selfIntroduction = "我今年%d岁,我叫%s,工资%.2f元";
String name = String.format(selfIntroduction, 18,"杨", 188.666);
System.out.println(name);
返回值 我今年18岁,我叫杨,工资188.67元
valueOf()
long A = 2L;
float B = 200F;
double C = 3.14;
System.out.println(String.valueOf(A));
System.out.println(String.valueOf(B));
System.out.println(String.valueOf(C));
返回值 2
200.0
3.14
matches()
- 调用后做正则表达式的{true或者false}
stringBuilder
| 方法 | 描述(n1和n2均指是索引位置) |
|---|---|
| append | 尾部追加 |
| replace(n1, n2, "a"); | 将n1到n2之间的元素,全部替换成字符串"a" |
| insert(n1, "a"); | 在n1之后,插入字符串"a" |
| delete(n1, n2); | 将n1到n2之间的元素,全部删除 |
| deleteCharAt(n1) | 删除n1位置上的元素 |
| substring(n1, n2) | 截取出n1到n2之间的所有元素并返回 |
| reverse() | 水平翻转字符串 |
| toString() | 以字符串形式展示 |
system.currentTimeMillis:时间戳
math数学工具类
数组
(Arrays.equals(int[] arrA, int[] arrB))
- 返回参数中的两个数组是否相同。
@Test
public void equals(){
int[] arr1 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int[] arr2 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int[] arr3 = {1};
System.out.println(Arrays.equals(arr1, arr2));
System.out.println(Arrays.equals(arr1, arr3));
}
返回值 :true
false
(Arrays.fill(int[] arr, int b, int c, int d))
- 从b位置到c位置,将d充满arr数组,bc可省略。
@Test
public void fill(){
int[] arr = new int[5];
// p1:对哪个数组进行填充
// p2:从数组的哪个位置开始填充
// p3:填充多少个
// p4:填充什么
Arrays.fill(arr, 0, arr.length, 13);
System.out.println(Arrays.toString(arr));
}
返回值 [13, 13, 13, 13, 13]
(Arrays.binarySearch(int[] arr, char key))
- 在arr数组中,用二进制搜索法搜索key。
@Test
public void binarySearch(){
int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
// p1:在哪个数组中进行二分查找
// p2:查找什么值
System.out.println(Arrays.binarySearch(arr, 5));
}
}
返回值 :4
(Arrays.sort(int[] arr, int b, int c))
- 从b位置到c位置,升序排列数组arr,bc可省略。
@Test
public void sort(){
int[] arr = {133, 12, 5, 4, 2, 6, 21, 561, 453, 10};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
}
返回值 :[2, 4, 5, 6, 10, 12, 21, 133, 453, 561]
- ArraysCopyOF 数组复制
- tocharArray 把字符串里的东西单独拿出来
- deepToString(int[][] arr):返回二维数组内容的字符串表示形式。
- toString(int[] arr):返回一维数组内容的字符串表示形式。