第二章 java基础(类型转换二)

—— 本文参照 Learn Java for Android Development (第三版)

其实在实际的开发中类型转换也并不是必须的,比如把高级数据向低级数据转换的时候不产生数据丢失的话。举一个简单的例子:byte b = 100;在这段代码里面我们的编译器首先会把一个整形数字100赋值给一个字节整形变量b,而100完全可以存放在这个b变量所占用的内存空间里面的,不会存在存放不下而数据丢失的可能。
下面这个例子让我们来感受一下数据类型转换的应用:
public class Example
{
public static void main(String[] args)
{
short s = (short) 1.65 + 3;
System.out.println(s);
char c = 'A';
byte b = (byte) c;
System.out.println(b);
b = 100;
System.out.println(b);
s = 'A';
System.out.println(s);
s = (short) '\uac00';
System.out.println(s);
}
}
在main函数里面,首先我们使用(short)操作数的方式把表达式1.65+3转化为短整形,然后将结果赋值为变量s,并将结果打印出来。接下来的表达式是将一个16位的无符号整形变量强制转化为8位的有符号整形,并将其打印出来。
如刚刚提到的有时候类型转化符也不是必须的,b=100,将100赋值给一个范围是-128到127的变量,100在这个范围内,所以不会有数据丢失,所以编译器不会报错或者抛出异常。
同理我们的字符A可以直接赋值给一个16位短整形变量而不会造成数据丢失,这里是因为字符A在短整形的数据范围内,所以可以省掉类型转换符,如果超出范围的话就必须显式加上类型转换符号。例如s = (short) '\uac00';
编译执行上面的代码可以得到如下打印(javac Example.java
java Example):
4
65
100
65
-21504

Page 60

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,775评论 18 399
  • Win7下如何打开DOS控制台? a:开始--所有程序--附件--命令提示符 b:开始--搜索程序和文件--cmd...
    逍遥叹6阅读 5,544评论 4 12
  • 第一类:逻辑型boolean 第二类:文本型char 第三类:整数型(byte、short、int、long) c...
    Jasonme阅读 4,834评论 0 4
  • 1 关键字 1.1 关键字的概述 Java的关键字对java的编译器有特殊的意义,他们用来表示一种数据类型,或...
    哈哈哎呦喂阅读 4,001评论 0 0
  • 致:在外漂泊滴我们 《我是一个神经病》 我就是一个神经病,为啥子这么说捏?因为我慢慢发现我的性格有些怪。 比如说,...
    稻草人三叹阅读 1,585评论 0 0

友情链接更多精彩内容