java数据类型之间的转换_Java基本类型之间的转换
一、基本数据类型长度
byte:一个字节,8位,有符号
short:两个字节,16为,有符号
char:两个字节,16位,无符号
int:4个字节,32位,有符号
float:4个字节,32位,有符号
long:8个字节,64位,有符号
double:8个字节,64位,有符号
boolean:比较特殊,1个字节,由于其值的特殊性,不能与任何基本类型进行转换
二、向上类型转换(不考虑char类型,char类型后面一节单独说)
何为向上?
byte->short->int->long->float->double
只要是要转换的类型等级比本身类型等级高,不需要强制类型转换,而且,内存中所占长度也会随之提升
但是,整数转换为浮点数有可能会损失精度
三、向下类型转换
向下类型转换,均需要强制转换
注意:在给基本类型赋初值的时候,整数默认是int类型,浮点数默认是double类型
所以,
float a = 5.0; //编译器会报错,因为5.0默认是double类型,不经过强制转换不可以转换为float类型
float a = (float)5.0; //正确
float a = 5.0f; //正确,这时候的5.0是float类型
但是,
byte a = 6; //这种写法不会报错,因为对于默认为int类型的数据,将其赋给比int类型等级低的类型k时(byte、char、short),JVM会自动判断该值是否超过了k类型的取值范围,如果超过了,则报错,如果没有超过,则将该int值隐式地强制转换为k类型并赋值。
所以;
char a = 5; // 不会报错
byte a = 1000; // 报错,因为1000超过了byte所能存储的最大范围
四、char的独特性
虽然char类型内部存的也是数字(ASCII码),但是,有一点不同:byte、short、int、float、double都是有符号的变量类型,char是无符号的变量类型,所以,即使是byte向char类型转换(升级)、short向char类型转换(同级)均需要强制转换,因为有符号和无符号的区别。
java数据类型之间的转换_Java基本类型之间的转换相关推荐
- js 传入字符串,转换成日期类型,如果转换失败返回null
//传入字符串,转换成日期类型,如果转换失败返回null var strToDate = function(dateStr) {try {if (dateStr instanceof Date) {r ...
- java数据类型 两大类_Java公开课|将Java数据类型分为这两大类,就能涵盖所有类型...
[摘要]作为一门面向对象编程语言,Java吸收了C++语言的优点,也展现了其强大的一面,我们能在各个地方看到其功能强大和简单易用的两个特征,当然,也吸引了很多程序员的注意力,所以就有人想了解Java的 ...
- java包装类有几种_Java包装类型有几种
Java包装类型有8种,分别是:1.Byte:2.Integer:3.Short:4.Long:5.Float:6.Double:7.Boolean:8.Character. [相关学习推荐:java ...
- java xml文件内容替换_java读取xml文件并转换成对象,并进行修改
1.首先要写工具类,处理读取和写入xml文件使用的工具.XMLUtil.java importjava.io.FileInputStream;importjava.io.FileWriter;impo ...
- java 查询日期行列转换_java中日期格式的转换和应用
java中主要有3个类用于日期格式转换 DateFormat .SimpleDateFormat.Calendar SimpleDateFormat函数的继承关系: java.lang.Obje ...
- java xml 字符串转对象_java读取xml文件并转换成对象,并进行修改
1.首先要写工具类,处理读取和写入xml文件使用的工具.XMLUtil.java import java.io.FileInputStream; import java.io.FileWriter; ...
- java double 转 byte数组_Java基本类型与byte数组的转换
Java基本类型与byte数组之间相互转换: package cn.teaey.utils; import java.nio.charset.Charset; public class ByteUti ...
- java数据类型 两大类_JAVA的数据类型分为两大类型
JAVA的数据类型分为两大类型 public class Demo04 { public static void main(String[] args) { //八大基本数据类型 //整数 int n ...
- java数据类型及表示范围_Java数据类型及对应取值范围
在Java中,数据类型分为两大种:基本数据类型(值类型)和包装类型(引用数据类型).基本数据类型不是对象,不能调用toString().hashCode().getClass().equals()等方 ...
最新文章
- Python使用matplotlib或者Seaborn箱图(boxplot)可视化时汉语(中文)标签显示成了框框□□、什么情况、我们有解决方案。
- 远程ubuntu虚拟机Tensorflow搭建 - 1 SSH连接
- python爬虫意思_python为什么叫爬虫
- Matrix PKU 2155
- 这回真要涨工资了!国务院教育督导办:2020年把义务教育教师平均工资收入水平不低于当地公务员作为督导检查重点...
- mysql primary unique_MySQL中的INDEX,PRIMARY,UNIQUE,FULLTEXT之间的区别?
- Python实现批量Word转PDF
- 双路服务器装mac系统,华硕Z10 C612,双路E5继续折腾调试改机型Macpro终于成功。...
- Android Studio安装(本人也是站在巨人肩膀上学习~)
- 【NEW02】Servlet 基础
- Redis的KEYS命令引起RDS数据库雪崩,RDS发生两次宕机,造成几百万的资金损失
- 面向对象编程 鸵鸟到底是不是鸟 企鹅是不是鸟?
- 计算机PAD网络是什么,iPad平板电脑的WLAN与Cellular版有什么区别【详细介绍】
- Linux Vm虚拟机配置环境错误 在登录界面循环往复,登录不进去问题
- 大学生的小乐趣:HTML制作MacOS Dock栏
- 自学Java篇之JFrame创建《石头迷阵小游戏》
- 中兴W815/W615无线瘦AP改成家用无线路由器配置方法
- 水电图纸——工具简介-4
- 钜泉光电ATT7053C芯片STM32 SPI驱动
- 微软WP8.1:用户最期盼的十个升级要点(转载自远景论坛)
热门文章
- PHP超链接传数据库值格式,php – 使用超链接更新数据库
- java查询和添加客户信息_4.从零点五开始的Java之路(增删改查-客户)
- 荒岛余生最后一个包裹_从《荒岛余生》看上世纪九十年代美国社会主流价值观...
- python asyncio_python asyncio(一)
- linux getline参数,[置顶]linux getline()函数
- lamda获取参数集合去空_集合源码解析之LinkedList
- 安卓 dex 通用脱壳技术研究(四)
- 贪心——跳跃游戏(Leetcode 55)
- 软件工程复习提纲——第四章
- SQL必知必会-过滤数据