一、强制类型转换

char 和 整型之间的类型转换

 char a7 = 'a';
System.out.println(a7); System.out.println( (int)a7 );
System.out.println( (byte)a7 );
System.out.println( (short)a7 ); int b1 = 101;
System.out.println( (char)b1 );
System.out.println( (char)(b1 + 1) );

输出:

a
97
97
97
e
f

下面这段代码会把 26 个小写字母对应的 int 值打印出来

 char[] chs = {
'a','b','c','d','e','f','g','h','i','j','k','l','m',
'n','o','p','q','r','s','t','u','v','w','x','y','z'}; for (int i = 0; i < chs.length; i++) {
System.out.println( (int)chs[i] );
}

二、隐式类型转换

这是一个很经典的题目,先看代码:

 short a = 1;
short b = 2; short c = a + b;

答案是第4行代码出现编译错误:“可能损失精度”

原因:在进行 a + b 操作时,会把结果的类型“隐式”提升为 int 类型,此时再使用 short 类型的 c 变量引用时,就会出现“损失精度”

可以把 a + b 的结果强制转换为 short 类型,但是可能导致数值精度发生错误。也就是说可以解决编译期的错误,但是可能在运行期出现BUG

 short a = 1;
short b = 2; // short c = (a + b);
short c = (short)(a + b);

还可以使用 int 或者 long 类型变量接收返回值

 short a = 1;
short b = 2; int c = (a + b);

最新文章

  1. dbcp数据源配置杂谈
  2. linux下git的简单运用
  3. 说说Thread.Sleep(0)的那些奇怪的事
  4. 【POJ1442】【Treap】Black Box
  5. Java疯狂讲义(二)
  6. AppUtils【获取手机的信息和应用版本号、安装apk】
  7. ThinkJS 开发node后端 使用 简介
  8. Censor SCU - 4438
  9. java 开发微信中回调验证一直提示 解密失败处理(Java)
  10. 在 Centos7 的KVM上启用嵌套虚拟化
  11. spring boot 使用拦截器 无法注入 配置值 、bean问题
  12. ArcGIS Pro体验03——主界面
  13. HBase1.2.0增删改查Scala代码实现
  14. Hadoop 入门教程
  15. Tomcat启动报错:org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalin
  16. [elk]logstash的最佳实战-项目实战
  17. python 3+djanjo 2.0.7简单学习(五)--Django投票应用
  18. CSS变量使用解析
  19. HDU1323_Perfection【水题】
  20. 2 abp 领域层创建实体

热门文章

  1. pdf 翻译
  2. vue+elementui搭建后台管理界面(8 同步/异步获取数据渲染table)
  3. 为什么用ls和du显示出来的文件大小有差别?【转】
  4. Linux中mpstat命令参数详解
  5. remaining connection slots are reserved for non-replication superuser connections
  6. [转]css3自适应布局单位vw,vh你知道多少?
  7. SEO前端篇(一)页面布局
  8. ios label根据内容自适应高度
  9. python提取mysql中指定列参数,并循环打印
  10. mybatis:字符串转成数组拼接成SQL