Java Number & Math 类

全部函数见https://www.runoob.com/java/java-number.html

1
2
3
4
5
6
Math.sin()
Math.cos()
Math.tan()
Math.PI
Math.atan()
Math.toDegrees()

Java Character 类

Java String 类

创建String对象的基本语法

注意:String 类是不可改变的,所以你一旦创建了 String 对象,那它的值就无法改变了(详看笔记部分解析)。

如果需要对字符串做很多修改,那么应该选择使用 StringBuffer & StringBuilder 类。

1
2
3
4
String str=new String("Runoob");
//or
String str = "Runoob";

常用方法

1
2
3
4
5
6
7
8
9
10
11
12
13
//返回字符串长度
str.length()
//连接两个字符串
"Hello," + " runoob" + "!"
//按字典序比较两个字符串,不考虑大小写,如果此字符串小于字符串参数,则返回一个小于 0 的值
str3.compareToIgnoreCase( str1 )
//创建格式化字符串
String fs;
fs = String.format("浮点型变量的值为 " +
"%f, 整型变量的值为 " +
" %d, 字符串变量的值为 " +
" %s", floatVar, intVar, stringVar);

Arrays方法

1
2
3
4
5
6
7
8
9
10
11
//类名:
Arrays
Arrays.binarySearch(numbers, key);
//二分查找指定对象,数组在调用前必须排序好的。如果查找值包含在数组中,则返回搜索键的索引;否则返回 (-(插入点) - 1)。
public static int binarySearch(Object[] a, Object key)
//如果两个指定的 long 型数组彼此相等,则返回 true。如果两个数组包含相同数量的元素,并且两个数组中的所有相应元素对都是相等的,则认为这两个数组是相等的。换句话说,如果两个数组以相同顺序包含相同的元素,则两个数组是相等的。同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)。
public static boolean equals(long[] a, long[] a2)
//将指定的 int 值分配给指定 int 型数组指定范围中的每个元素。同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)。
public static void fill(int[] a, int val)
//对指定对象数组根据其元素的自然顺序进行升序排列。
public static void sort(Object[] a)

Java 数组

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
//声明:
datatype[] name;
double[] mylist;
//创建:
name=new datatype[size];
//声明和创建合一:
dataType[] name = new dataType[arraySize];
//for-each循环,它能在不使用下标的情况下遍历数组:
for(type element: name)
{
System.out.println(element);
}
for (double element: myList)
{
System.out.println(element);
}
//数组作为函数的参数:
public static void printArray(int[] array) {
for (int i = 0; i < array.length; i++) {
System.out.print(array[i] + " ");
}
}
//数组作为函数的返回值:这里好像和c不一样?不区分指针和值?
public static int[] reverse(int[] list) {
int[] result = new int[list.length];

for (int i = 0, j = result.length - 1; i < list.length; i++, j--) {
result[j] = list[i];
}
return result;
}
//多维数组:
dataType[][] name = new dataType[size][size];
//从最高维开始,分别为每一维分配空间:不理解!!!
String[][] s = new String[2][];
s[0] = new String[2];
s[1] = new String[3];
s[0][0] = new String("Good");
s[0][1] = new String("Luck");
s[1][0] = new String("to");
s[1][1] = new String("you");
s[1][2] = new String("!");
//一个例子:
public class TestArray {
public static void main(String[] args) {
// 数组大小
int size = 10;
// 定义数组
double[] myList = new double[size];
myList[0] = 5.6;
myList[1] = 4.5;
myList[2] = 3.3;
myList[3] = 13.2;
myList[4] = 4.0;
myList[5] = 34.33;
myList[6] = 34.0;
myList[7] = 45.45;
myList[8] = 99.993;
myList[9] = 11123;
// 计算所有元素的总和
double total = 0;
for (int i = 0; i < size; i++) {
total += myList[i];
}
System.out.println("总和为: " + total);
}
}

Java时间

Java正则表达式

Java方法

方法包含于类或对象中

System.out.println()

这句话的用法是调用系统类 System 中的标准输出对象 out 中的方法 println()。

Java IO

创建 BufferedReader 对象的基本语法

1
2
3
4
5
6
//开头
import java.io.*;
//main方法里
BufferedReader br = new BufferedReader(new InputStreamReader(System.in))
//main 函数上
public static void main(String[] args) throws IOException {}

常用方法

1
2
3
4
5
6
//读入一个字符
(char) br.read()
//读入一行
br.readLine()
//判断字符串str是否为end
str.equals("end")

创建 InputStream 对象的基本语法

1
2
3
import java.io.*;
InputStream f = new FileInputStream("C:/java/hello");
public static void main(String[] args) throws IOException {}

常用方法

1
2
3
4
5
6
7
8
//关闭此文件输入流
f.close();
//清除与该文件的连接
f.finalize();
//从 InputStream 对象读取指定个数的数据,返回值为返回下一个数据,如果已经到结尾则返回-1。
f.read(int r)
//从输入流读取r.length长度的数据到数组中。返回读取的字节数。如果是文件结尾则返回-1。
f.read(byte[] r)

创建 OutputStream 对象的基本语法

1
2
3
import java.io.*;
OutputStream f = new FileOutputStream("C:/java/hello");
public static void main(String[] args) throws IOException {}

常用方法

1
2
3
4
5
6
7
8
//关闭此文件流
f.close();
//写一个字符到输出流中
f.write(int w);
//把指定数组中w.length长度的内容写到OutputStream中
f.write(byte[] w);
//清除与该文件的连接
f.finalize();

Java Scanner 类

创建 Scanner 对象的基本语法

1
2
3
4
//开头
import java.util.Scanner;
//main方法里
Scanner scan = new Scanner(System.in);

常用方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//输出到控制台
System.out.print("xxx"/char);
//输出到控制台,自动换行
System.out.println("xxx"/char+....元素);
//读一个字符串,返回值为读取的一个字符串
//对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
//不能得到带有空格的字符串
scan.next()
//判断是否还有输入,无则0,有则非0
scan.hasNext()
//关闭scanner
scan.close();
//判断是否还有输入
scan.hasNextLine()
//读入一行,返回的是输入回车之前的所有字符,可以获得空白。
scan.nextLine()
//读入一个整数
scan.nextInt()
//判断是否为int
scan.hasNextInt()
//以下同理
scan.hasNextFloat()
scan.nextFloat()

小程序段

1
2
3
4
5
6
7

//一个老生常谈的注意点:要传递数组size进去
public static void nPrintln(String message, int n) {
for (int i = 0; i < n; i++) {
System.out.println(message);
}
}