-
相对路径和绝对路径
相对路径:相对于自己位置的目标文件的路径
绝对路径:文件在硬盘上真正存在的路径
-
基本数据类型
数据类型 | 类型名 | 占用字节大小 | 取值范围 |
---|---|---|---|
byte | 字节型 | 1 | -128 ~ 127 |
-2^7 ~ 2^7-1 | |||
short | 短整型 | 2 | -32768~32767 |
-2^15 ~ 2^15-1 | |||
int | 整型 | 4 | -2147483648 ~ 2147483647 |
-2^31 ~ 2^31-1 | |||
long | 长整型 | 8 | -2^63 ~ 2^63-1 |
float | 单精度浮点 | 4 | 小数点后7位 |
double | 双精度浮点 | 8 | 小数点后15位 |
char | 字符型 | 2 | - |
boolean | 布尔型 | 1 | ture 或 false |
-
浮点数的使用陷阱
下面有一段代码:
public class FloatDetail {
public static void main(String[] args) {
double num1 = 2.7;
double num2 = 8.1 / 3;
System.out.println("num1 = " + num1);
System.out.println("num2 = " + num2);
if(num1 == num2) {
System.out.println("num1 = num2");
} else {
System.out.println("num1 != num2");
}
}
}
运行结果:
为什么会出现能整除但除之不尽的情况呢?是因为计算机在存储小数的时候,是以一个近似值的形式来存储的,精度跟该类型有关,一旦小数参与运算,计算机则会输出运算后的近似值。所以当小数参与运算时,需要对运算结果进行判断,如果运算后的结果减去预期结果的差的绝对值在某一精度的范围内,则可以判断该次运算没有问题。
public class FloatDetail {
public static void main(String[] args) {
double num1 = 2.7;
double num2 = 8.1 / 3;
if(Math.abs(num1 - num2) < 0.000001) {
// 差值的绝对值小于我规定的精度, 则可以判断两数相等
System.out.println("num1 = num2");
} else {
System.out.println("num1 != num2");
}
}
}
运算结果:
-
字符类型的本质
字符类型的本质是一个整数,将一个整数赋值给char类型的变量时,本质就是将ACSII码表上该整数对应的的字符赋值给char类型变量,所以char类型的变量是可以进行加减运算的,当两个字符类型变量进行加减运算时,会先把字符类型变量转为int后再进行运算。