JAVA基础篇-基本数据运算细节

Java中,整数运算默认为int类型,可能导致向下转型报错。浮点运算不指定f/F时默认为double,可能导致精度偏差。浮点到整数转换时,需要关注这种偏差。数据在JVM中,方法内的基本类型存储于栈,类中的在堆,String存储于方法区的常量池。转化方面,可以使用String.valueOf()将基本类型转为String。
摘要由CSDN通过智能技术生成
// java基本类型运算细节
byte i = 4 + 1;  ×  // 整数类型的计算默认转化成int类型  所以这个代码时报错的,4 + 1 结果是int类型,不能向下转型为byte
float i = 1.1 * 2.2; × // 如果浮点类型运算数字没有带f/F就表示是double类型,运算出来的结果也是double类型的
float i = 1.1f * 2.2f; √ // 这种方式去运算才是真确的
    
// 重点: 浮点类型去计算有可能出现值偏差的问题
double i = 3.3 / 1.1; // 按正常计算结果为3,但是浮点结算后结果为2.9999999999999996,导致值得偏差
// 我们可以通过这个方式来确定值是否能取用,只要偏差不大就取用这个值
Math.abs((3 - i) < 0.1) 

java基本数据类型在Jvm中的储存方式:

        1.如果数据类型是在方法中定义的那么在jvm中数据类型就储存在当中

        2.如果基本数据类型实在类中定义的那么在jvm中数据类型就储存在当中

        3.引用数据类型String类型存放在jvm中的方法区中的常量池里面

基本基本数据类型和String类型之间的转化

        

float i = 1.1f * 2.0f;
String j = String.valueOf(i); // 使用String.valueOf();方法可以将基本数据类型转化成String,基本数据类型都可以
System.out.println(j);

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值