java中类型转换的造型_Java-类型转换 - 吉胖子很瘦的个人空间 - OSCHINA - 中文开源技术交流社区...
类型转换
在实际开发过程中,存在类型转换,类型转换分为两种,自动类型转换和强制类型转换。
自动类型转换
程序编译或运行过程中,jvm可以发生自动类型转换。转换规则:
[1]容量小的数据类型可以自动转换为容量大的数据类型。
[2] 类型兼容
public class Test{
public static void main(String[] args){
// 自动类型转换
byte a = 10;
int b = a;
// 类型不兼容
/*
boolean r1 = false;
int d = r1;
*/
// char类型本质是整形
int c = 0;
char d = 'a';
c = d;
} }
相兼容的理解
[1]数值型都相互兼容。
[2]int和char相互兼容(char本质上是整形,char是被编码的字符)
jvm对自动类型转换的优化
可以将整型常量直接赋值给byte, short, char等类型变量,而不需要进行强制类型转换,只要不超出其表数范围.
public class Test{
public static void main(String[] args){
// jvm的优化
// 没有发生自动类型转换。
byte a = 100;
char b = 20013;
System.out.println("b="+b);
} }
在表达式进行计算时,表达式的结果会自动发生类型转换。
表达式的结果都向高精度偏移。
如果一个操作数为double型,则整个表达式可提升为double型。
强制类型转换
强制类型转换,又被称为造型,用于显式的转换一个数值的类型. 形式:
type var2 = (type)var1
// 没有信息丢失强制类型转换
int a = 100;
byte b = (byte)a; System.out.println("b="+b);
强制类型转换存在信息丢失或者精度丢失的情况。
// 存在精度丢失的强制类型转换
float c = 10.2f;
int d = (int)c;
System.out.println("d="+d);
// 信息丢失的强制类型转换。
int e = 300;
byte f = (byte)e; System.out.println("f="+f);
在实际开发过程中,一定要避免这两种情况的发生,特别是信息丢失的发生。
java中类型转换的造型_Java-类型转换 - 吉胖子很瘦的个人空间 - OSCHINA - 中文开源技术交流社区...相关推荐
- java 树的层次遍历_Java遍历树的层级 - osc_jegm3yg5的个人空间 - OSCHINA - 中文开源技术交流社区...
非科班出身,欢迎指正. 要实现的逻辑是,在一棵树中,给出任意一个节点,获取到该节点下的N个层级. 一.树型结构 下图的树中,节点上的字母代表节点的名字,字母下的代表该节点的下单金额. 二.数据准备 组 ...
- java实现gdal栅格矢量化_gdal栅格矢量化 - osc_lfs4vsih的个人空间 - OSCHINA - 中文开源技术交流社区...
#include "gdal_alg.h" 栅格矢量化功能用于将栅格数据生成矢量数据,通常用于分类图像.GDAL库中使用函数GDALPolygonize()或者函数GDALFPol ...
- java sql报错不能catch_java异常(转) - osc_ioa3fr1w的个人空间 - OSCHINA - 中文开源技术交流社区...
Throwable(所有error和exception的父类:超类) Java将错误变成对象交给异常处理机制 Error(仅靠程序本身无法恢复的严重错误) 一般是环境的问题,JVM的问题,并非程序的问 ...
- 最新JAVA性能调优实战教程_java性能调优实战 - osc_9z8xc00s的个人空间 - OSCHINA - 中文开源技术交流社区...
在项目压测过程中,发现系统占用,上下文切换非常频繁,在此记录下调优过程,希望对后来人有所帮助. 测试方法:模拟客户端实际操作,向服务器高并发发送数据,查看服务器的负载情况. 服务器基本配置如下 1,基 ...
- java痴和堆_JAVA虚拟机理解 - 爱笑的痴迷者的个人空间 - OSCHINA - 中文开源技术交流社区...
JVM定义: JVM(Java Virtual Machine),是一种运行Java程序的软件实现,是虚拟的机器.Java程序与平台无关,它直接在虚拟机中运行. JVM运行过程: JVM将内存分划如下 ...
- java代餐计算器_java入门7 - 千言sully的个人空间 - OSCHINA - 中文开源技术交流社区...
1...访问修饰符 返回值类型 方法名(参数列表){} 访问修饰符:方法允许访问的权限范围 返回值类型:void是不带return返回值的, 如果带返回值,此时要把返回值类型写出来 方法名( ...
- java选择排序不稳定_选择排序就这么简单 - Java3y的个人空间 - OSCHINA - 中文开源技术交流社区...
选择排序就这么简单 从上一篇已经讲解了冒泡排序了,本章主要讲解的是选择排序,希望大家看完能够理解并手写出选择排序的代码,然后就通过面试了!如果我写得有错误的地方也请大家在评论下指出. 选择排序介绍和稳 ...
- java实现自举_实现语言的自举 - 沙枣的个人空间 - OSCHINA - 中文开源技术交流社区...
几乎所有的语言项目,其核心都是用更底层的语言写的. 底层语言大部分是 C,C++,而扩展这门语言的核心,就要用另外一种语言 去写.这给语言设计者较大的挑战. 开发语言必须具备底层语言的编写能力,而为了 ...
- 在C语言中数据耦合例子,耦合性 内聚加实例 - osc_yip56055的个人空间 - OSCHINA - 中文开源技术交流社区...
基本信息 耦合性(或称"耦合度") 英文 : coupling 耦合性也叫块间联系.指软件系统结构中各模块间相互联系紧密程度的一种度量.模块之间联系越紧密,其耦合性就越强,模块之间 ...
最新文章
- 还在傻傻分不清楚equal和==
- 最新综述:用于组合优化的强化学习
- Windows上Tomcat启动,服务中没有Tomcat
- mybatis学习笔记(1)-对原生jdbc程序中的问题总结
- CubeMX配置串口的程序烧入板子不跑的解决方法
- 工作经验总结:百万数据引发的性能瓶颈问题
- IDEA Tomcat控制台中文乱码
- GridView中添加自动编号,以及鼠标经过时行背景色变和删除时提示。
- [Redis]Redis的数据类型
- 算法----其他排序
- 一致代价搜索_58搜索效率优化平台建设实践
- winxp netbeui install
- filenet分布式部署
- 安装win10虚拟机遇到的坑
- 戴尔r410服务器虚拟磁盘,DELL服务器R410原装 SAS 6/IR RAID卡 阵列控制器卡 支持RAID0,1...
- 假币问题详解(枚举的经典例题)
- codeforces-1734C - Removing Smallest Multiples
- 杠杆炒股为什么会被强制平仓?
- 化繁为简,我用”知晓推送”开发微信小程序订阅消息
- 非常漂亮的一款html引导页导航网站旋转头像变幻背景单页源码
热门文章
- uboot启动linux,uboot中ramdisk启动linux的两种方法
- linux获取互联网时间,linux中用shell获取时间,日期
- python爬取b站粉丝数_【python爬虫】每天统计一遍up主粉丝数!
- linux驱动程序是什么,简述一个Linux驱动程序的主要流程与功能
- 【UAV】光流模块、测量速度、快速入门及安装使用
- 1.1 为什么选择序列模型-深度学习第五课《序列模型》-Stanford吴恩达教授
- STM32 进阶教程 5 - 内联函数
- 【PC工具】文件压缩解压工具winrar解压缩装机必备软件,winRAR5.70免费无广告
- 主线科技完成A轮融资,蔚来资本、普洛斯隐山资本联合领投
- RAID重组和数据库数据的修复与验证