4.1 常用的 Math 类方法:
- 三角函数方法 (trigonometric method )
- 指数函数方法 (wxponent method )
- 服务方法 (service method )
- 还有两个常量:PI (π )、E(自然对数的底)
4.1.1 三角函数方法:
方法 | 描述 |
---|---|
sin ( radians ) |
返回以弧度为单位的角度的三角正弦函数值 |
con ( radians ) |
返回以弧度为单位的角度的三角余弦函数值 |
tan ( radians ) |
返回以弧度为单位的角度的三角正切函数值 |
toRadians ( degree ) |
将以度为单位的角度值转换为以弧度表示 |
toDegrees ( radians ) |
将以弧度为单位的角度值转换为以角度表示 |
asin ( a ) |
返回以弧度为单位的角度的反三角正弦函数值 |
acos ( a ) |
返回以弧度为单位的角度的反三角余弦函数值 |
atan ( a ) |
返回以弧度为单位的角度的反三角正切函数值 |
4.1.2 指数函数方法:
方法 | 描述 |
---|---|
exp( x ) |
返回 e 的 x 次方 |
log( x ) |
返回 x 的自然底数 |
log10( x ) |
返回 x 的以10为底的对数 |
pow( a, b ) |
返回 a 的 b 次方 |
sqrt( x ) |
返回 a 的 b 次方 |
4.1.3 取整方法:
方法 | 描述 |
---|---|
ceil( x ) |
x 向上取整为它最接近的整数(return double类型) |
floor( x ) |
x 向下取整为它最接近的整数(return double类型) |
rint( x ) |
x 取整为它最接近的整数。如果 x 与两个整数的距离相等,偶数的整数作为一个双精度值返回。 |
round( x ) |
如果 x 是单精度数,返回 ( int )Math.floor( x + 0.5 ) ; 如果 x 是双精度数,返回( long )Math.floor( x + 0.5 ) |
4.1.4 min、max 和 abs 方法:
- min 和 max 方法用于返回两个数(int、long、float 或 double 型)的最小值和最大值。
- abs 方法以返回一个数(int、long、float 或 double 型)的绝对值。
4.1.5 random 方法:
Math.random()
方法,生成大于等于0.0且小于1.0的 double型随机数(0.0 <= Math.random() < 1.0 )。可以用它编写简单的表达式,生成任意范围的随机数。
4.2 字符型数据类型和操作
4.2.1 Unicode 和 ASCII码
一个16位的 Unicode 码占两个字节,用以 \u 开头的4位十六进制数表示,范围从‘\u0000’到‘\uffff’。
常用字符的 ASCII 码:
字符 | 十进制编码值 | Uniclde 值 |
---|---|---|
'0' ~ '9' | 48 ~ 57 | \u0030 ~ \u0039 |
'A' ~ 'Z' | 65 ~ 90 | \u0041 ~ \u005A |
'a' ~ 'z' | 97 ~ 122 | \u0061 ~ \u007A |
特殊字符的转义序列:
转义序列 | 名称 | Unicode码 | 十进制值 |
---|---|---|---|
\b | 退格键 | \u0008 | 8 |
\t | Tab键 | \u0009 | 9 |
\n | 换行符 | \u000A | 10 |
\f | 换页符 | \u000C | 12 |
\r | 回车符 | \u000D | 13 |
\\ | 反斜杠 | \u005C | 92 |
\" | 双引号 | \u0022 | 34 |
Java 的 Character类 提供了下列方法用于进行字符测试:
方法 | 描述 |
---|---|
isDigit(ch) |
如果指定的字符是一个数字,返回 true |
isLetter(ch) |
如果指定的字符是一个字母,返回 true |
isLetterOrDigit(ch) |
如果指定的字符是一个字母或数字,返回 true |
isLowerCase(ch) |
如果指定的字符是一个小写字母,返回 true |
isUpperCase(ch) |
如果指定的字符是一个大写字母,返回 true |
toLowerCase(ch) |
返回指定的字符的小写形式 |
toUpperCase(ch) |
返回指定的字符的大写形式 |
编写代码,产生随机的小写字母:
第一次想到的:(char)((int)(Math.random() * (123-97) + 97))
最简洁的:(int)(Math.random() * 26 + 'a')
4.3 String 类型
char 类型只能表示一个字符。为了表示一串字符,使用称为 String(字符串)的数据类型。
String 对象的简单方法:
方法 | 描述 |
---|---|
lehgth() |
返回字符串中的字符数 |
charAt(index) |
返回字符串中指定位置的字符 |
concat(s1) |
将本字符串和字符串 s1 连接,返回一个新的字符串 |
oUpperCase() |
返回一个新的字符串,其中所有的字母都大写 |
toLowerCase() |
返回一个新的字符串,其中所有的字母都小写 |
trim() |
返回一个新的字符串,去掉了两边的空白字符 |
字符 ' '、\t、\f、\r、\n被称为空白字符。
调用一个实例方法的语法是:reference-Varable.methodName(arguments)
调用一个静态方法的语法是:ClassName.methodName(arguments)
Scanner 对象上的 next()方法读取以空白字符结束的字符串(即' '、\t、\f、\r、\n)。可以使用nextLine() 方法读取一整行文本。nextLine() 方法读取以按下回车键为结束标志的字符串。
String类提供了以下方法,用于比较两个字符串:
方法 | 描述 |
---|---|
equals(s1) |
如果该字符串等于字符串 s1 ,返回 true |
equalsIgonreCase(s1) |
如果该字符串等于 s1,返回 true ,不区分大小写 |
compareTo(s1) |
返回一个大于 0、等于 0、小于0 的整数,表明一个字符串是否大于、等于或小于 s1 |
compareToIgnoreCase(s1) |
和 compareTo 一样,但是比较时不区分大小写 |
startWith(prefix) |
如果字符串以特定的前缀开始,返回 true |
endsWith(suffix) |
如果字符串以特定的后缀结束,返回 true |
contains(s1) |
如果s1 是该字符串的子字符串,返回 true |
操作符 == 只能检测 string1 和 string2 是否指向同一个对象,但它不会告诉你它们的内容是否相同。
String类包含的获取子串的方法:
方法 | 描述 |
---|---|
substring(beginIndex) |
返回该字符串的子串,从特定位置beginIndex的字符开始到字符串的结尾 |
substring(beginIndex, enIndex) |
返回该字符串的子串,从特定位置beginIndex的字符开始但下标为endIndex-1的字符。注意,位于endIndex位置的字符不属于该子字符串 |
indexOf(ch) |
返回字符串中出现的第一个ch 的下标。如果没有匹配,返回 -1 |
indexOf(ch, fromIndex) |
返回字符串中fromIndex 之后的第一个ch 的下标。如果没有匹配的,返回 -1 |
indexOf(s) |
返回字符串中出现的第一个字符串s 的下标。如果没有匹配的,返回 -1 |
indexOf(s, fromIndex) |
返回字符串中fromIndex 之后出现的第一个字符串s的下标。如果没有匹配的,返回 -1 |
lastIndexOf(ch) |
返回字符串中出现的最后一个ch 的下标。如果没有匹配的,返回 -1 |
lastIndexOf(ch, fromIndex) |
返回字符串中fromIndex 之前出现的最后一个ch 的下标。如果没有匹配的,返回 -1 |
lastIndexOf(s) |
返回字符串中出现的最后一个字符串s的下标。如果没有匹配的,返回 -1 |
lastIndexOf(s, fromIndex) |
返回字符串中fromIndex 之前出现的最后一个字符串s 的下标。如果没有匹配的,返回 -1 |
数值型字符串转换为数值:
int intVlaue = Integer.parseInt(intString);
double doubleValue = Double.parseDouble(doubleString);
数值转换为字符串:
String s = number + "";
4.4 格式化控制台输出
可以使用 System.out.printf()
方法在控制台上显示格式化输出。
调用这个方法的格式是:System.out.printf(format, item1, item2, ..., itemk);
format
是指一个由子串个格式标识符构成的字符串。
常用的格式标识符:
标识符 | 输出 | 示例 |
---|---|---|
%b | 布尔值 | true 或 false |
%c | 字符 | 'a' |
%d | 十进制整数 | 200 |
%f | 浮点数 | 45.54000 |
%e | 标准科学计数法形式的数 | 4.5500e+01 |
%s | 字符串 | "Java is cool" |
e.g:
int count = 5;
double amount = 45.56;
System.out.printf("count is %d and is %f", count, amout);
// Display count is 5 and amount is 45.560000
条目与标识符必须在次序、数量和类型上匹配。默认情况下,复点值显示小数点后6 位数字。可以在标识符中指定宽度和精度。
指定宽度和精度的例子:
举例 | 输出 |
---|---|
%5c |
输出字符并在这个字符条目前加4个空格 |
%6b |
输出布尔值,在false前加一个空格,在true前加两个空格 |
%5d |
输出整数条目,宽度至少为5。如果该条目的数字位数小于5,就在数字前面加空格。如果该条目的位数大于5,则自动增加宽度 |
%10.2f |
输出的浮点条目宽度至少为10,包括小数点和小数点后两位数字。这样,给小数点前分配了7位数字。如果该条目小数点前的位数小于7,就在数字前面加空格。如果该条目小数点前的位数大于7,则自动增加宽度 |
%10.2e |
输出的浮点条目的宽度至少为10,包括小数点、小数点后两位数字和指数部分。如果按科学计数法显示的数字位数小于10,就给数字前加空格 |
%12s |
输出的字符串宽度至少为12个字符。如果该字符串条目小于12个字符,就在该字符串前加空格。如果该字符串的条目多于12个字符,则自动增加宽度 |
默认情况下,输出是右对齐的。可以在格式标识符中放一个负号(-),表明该条目在特定区域的输出是左对齐的。