1、 2.0 - 1.1 != 0.9
浮点数值不适用于无法接受舍入误差的金融计算中。 例如,命令 System.out.println ( 2.0-1.1 ) 将打印出 0.8999999999999999, 而不是人们想象的 0.9。这种舍入误差的主要 原因是浮点数值采用二进制系统表示, 而在二进制系统中无法精确地表示分数 1/10。这 就好像十进制无法精确地表示分数 1/3一样。如果在数值计算中不允许有任何舍入误差,就应该使用 BigDecimal类。
2、注释语句 // Look insidee c:\users 会报错因为 \u 后面并未跟着 4 个十六进制数。
3、关键字 final
final double HIGHT = 666.6;
将double型变量 HIGHT 定义为常量,只能被赋值一次,一旦被赋值之后,就不能够再更改了。
4、Math类:import static java.lang.Math.*;
// 取[0,i-1]区间中的随机整数
Random a = new Random();
int x = a.nextInt(i);
5、字符串截取子串:变量名.substring(起始下标,结束下标+1)
String s = "student";
System.out.println(s.substring(0,3));//stu
6、判断两个字符串是否相等:字符串1.equals(字符串2)
不区分大小写用 equalsIgnoreCase
一定不要使用==运算符检测两个字符串是否相等
7、有时要检查一个字符串既不是 null 也不为空串,这种情况下就需要使用以下条件:
if (str != null && str.lengthO != 0)
判空要放在前面
8、提取字符串中的某个字符及其码点
String str = "0Aa";
char z = str.charAt(1);
int p = str.codePointAt(0);
int q = str.codePointAt(1);
int r = str.codePointAt(2);
System.out.println(""+z+"\t"+p+"\t"+q+"\t"+r);//A 48 65 97
9、
10、printf 及输出时间
System.out.printf("%tc",new Date());
//星期一 一月 10 20:26:32 GMT+08:00 2022
11、数组输出 Arrays.toString(数组名)
对一维数组输出各个元素,对二位数组输出每个一维数组的地址
int[] a = {1,2,3,4,5,6,7};
System.out.println(Arrays.toString(a));//[1, 2, 3, 4, 5, 6, 7]
int[][] a = {{1,2},{3},{4,5,6,7}};
System.out.println(Arrays.toString(a));//[[I@4554617c, [I@74a14482, [I@1540e19d]
二维数组输出 Arrays.deepToString(数组名)
int[][] arr = {{1, 2, 3},{2}};
System.out.println(Arrays.deepToString(arr));
//[[1, 2, 3], [2]]
数组排序 Arrays.sort(数组名)
只能对一维数组使用