Java重修笔记 第三天 相对绝对路径、基本数据类型、浮点数使用陷阱、字符类型的本质

  • 相对路径和绝对路径

        相对路径:相对于自己位置的目标文件的路径

        绝对路径:文件在硬盘上真正存在的路径

  • 基本数据类型
数据类型类型名占用字节大小取值范围
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布尔型1ture 或 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后再进行运算

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值