Java基础——类型转换注意事项及常见问题
2024-10-19 11:39:06
类型转换
由于Java是强类型语言,所以要进行有些运算的时候,需要用类型转换
低----------------------------------------------------------------------------------------- >高
byte ,short ,char-> int-> float-> double
运算中,不同类型的数据先转换为同一类型,然后进行计算
public class demon1 {
public static void main(String[] args) {
int i=128;
byte b=(byte)i;//内存溢出
//强制转换 (类型)变量名 高--->低
System.out.println(b);
System.out.println(i);
//自动转换 低--->高
double c=i;
System.out.println(c);
System.out.println(i);
/*
注意点:
1. 不能对布尔值进行转换
2. 不能把对象类型转换为不相干的的类型
3. 在把高容量转换到低容量的时候, 强制转换
4.转换时可能存在内存溢出, 或精度问题
*/
System.out.println("========");
System.out.println((int)23.7);//double型 23
System.out.println((int)-45.89f);//float型 -45
System.out.println("========");
char d='a';
int f=d+1;
System.out.println(f);// 98
System.out.println((char)f);// b
}
}
常见问题
public class demon2 {
public static void main(String[] args) {
//操作大数时 注意溢出问题
//JDK7新特性, 数字之间可以用下划线分割
int money=10_0000_0000;
int years=20;
int total=money*years;
System.out.println(total);//-1474836480, 计算的时候溢出了
long total2=money*years;//默认是int(计算完之后才转换为long类型) 转换前已经存在问题了
long total3=money*((long)years);
System.out.println(total3);//20000000000
// L l(一般用大写)
}
}
最新文章
- 【FE前端学习】第二阶段任务-基础
- True Zero Downtime HAProxy Reloads--转载
- 前端跨域之html5 XMLHttpRequest Level2
- PHP之验证码识别
- 使用Ajax
- 一个栗子上手CSS3动画
- spring cloud sidecar
- 15个超强悍的CSS3圆盘时钟动画赏析
- python中删除某个元素的3种方法
- iOS 用RunTime来提升按钮的体验
- 学习笔记02(随便看看mybatis源码)
- Linux设备驱动之IIO子系统——Triggered buffer support触发缓冲支持
- Python基础之语句2
- Windows server2008服务器设置多用户登录
- 部署在sae上的servlet程序出现is not a javax.servlet.Servlet 错误
- JavaScript 快速入门
- 代理模式(静态代理、JDK动态代理原理分析、CGLIB动态代理)
- windows下如何安装pip以及如何查看pip是否已经安装成功
- mybatis {arg0} 与 {0}
- linux安装experss搭建本地服务器
热门文章
- ceph-csi源码分析(6)-rbd driver-nodeserver分析(下)
- 26、samba搭建
- 揭开Docker的面纱
- 使用.net6 WebApplication打造最小API
- Spring:Spring项目多接口实现类报错找不到指定类
- 小程序textarea设置maxlength后不是你想的那样简单
- 【Azure 应用服务】Azure Function App使用SendGrid发送邮件遇见异常消息The operation was canceled,分析源码逐步最终源端
- C语言相关知识
- ADO.NET整理 [转]
- 修改vcenter的Administrator@vsphere.local密码