匿名用户

1级

2012-06-21 回答

Java 的自动转换

如果下列2个条件都能满足,那么将一种类型的数据赋给另外一种类型变量时,将执行自动类型转换(automatic type conversion):

1,这2种类型是兼容的。

2,目的类型数的范围比来源类型的大。 ,

当以上2个条件都满足时,拓宽转换(widening conversion )发生。

例如,int 型的范围比所有byte 型的合法范围大,因此不要求显式强制类型转换语句。

对于拓宽转换,数字类型,包括整数(integer )和浮点(floating-point )类型都是彼此兼容的,

但是,数字类型和字符类型(char)或布尔类型(bollean )是不兼容的。字符类型(char )和布尔类型(bollean )也是互相不兼容的。

不兼容类型的强制转换

尽管自动类型转换是很有帮助的,但并不能满足所有的编程需要。例如,如果你需要将int 型的值赋给一个byte 型的变量,

你将怎么办?这种转换不会自动进行,因为byte 型的变化范围比int 型的要小。这种转换有时称为“缩小转换”(),

因为你肯定要将源数据类型的值变小才能适合目标数据类型。

为了完成两种不兼容类型之间的转换,你就必须进行强制类型转换。所谓强制类型转换只不过是一种显式的类型变换。它的通用格式如下:

(target-type)value

其中,目标类型(target-type )指定了要将指定值转换成的类型。例如,下面的程序段将int 型强制转换成byte 型。

如果整数的值超出了byte 型的取值范围,它的值将会因为对byte 型值域取模(整数除以byte 得到的余数)而减少。

int a;

byte b;

// ...

b = (byte) a;

当把浮点值赋给整数类型时一种不同的类型转换发生了:截断(truncation )。你知道整数没有小数部分。

这样,当把浮点值赋给整数类型时,它的小数部分会被舍去。例如,如果将值1.23赋给一个整数,其结果值只是1,0.23 被丢弃了。

当然,如果浮点值太大而不能适合目标整数类型,那么它的值将会因为对目标类型值域取模而减少。

android类型强制转换,android中如何进行强制类型转换相关推荐

  1. android开发界面转换,Android开发Activity界面切换添加动画特效的方法

    释放双眼,带上耳机,听听看~! 随着互联网的快速发展,现在我们开发的界面或者动画特效效果都非常好,其实这对于程序员的挑战是非常大的,下文是技术狗小编为大家带来的Android实现Activity界面切 ...

  2. c语言强制转换是四舍五入,c语言强制转换四舍五入.docx

    c语言强制转换四舍五入 在C语言中,强制转换后的数是四舍五入还是去尾?去尾要想四舍五入的话(int)(number+0.5)都是直接去尾的.当为数太多时直接截断.所以在强制转换时要很注意C语言有没有数 ...

  3. python强制转换整数_python数据类型的强制转换

    数据类型的强制转换 如果要将一个数据转换成另一个数据类型,只需要将其放入相应类型的函数中去. Number类型的数据转换 强制转换为int 可以转换的数据类型 int 整型 float 浮点型 boo ...

  4. java中子类与父类强制转换_java中父类强制转换成子类的错觉

    引言:父类引用指向子类对象在java中十分常见,比如: Object object=new a();//a是一个类名 但是有时候我们看见子类引用指向了父类对象,就是上边的反过来,比如 图片中圈1标识的 ...

  5. android utc时间转换,android 获取UTC时间和与.net时间戳的转换

    本文纯属整合,将在项目中用到的UTC时间和与.NET时间戳的转换进行记录.1.android获取UTC时间/***获取UTC时间**@return*/publicstaticStringgetUTCT ...

  6. android gps 经纬度转换,Android GPS 取经纬度

    1 //获取位置管理服务 2 private LocationManager locationManager; 3 String mProviderName = ""; 1 pri ...

  7. Android音频格式转换,Android音视频系列(八):了解音频格式WAV以及与PCM的转换...

    前言 之前我们已经了解了PCM音频数据,我们理解为最原始的数据,虽然他的音质是最棒的,但是同时也暴露出两个很重要的问题: 普通播放器无法播放,数据里不包含任何跟音频格式有关的信息(声道,采样率等等): ...

  8. java小数强制转换,Java中的强制类型转换 大数转小数

    首先要明确一下转换规则:大数转小数,多出的高位部分会被截断.比如 int 占 4个byte(32 bit), byte占 1个byte(8bit), 那int 转 byte ,int 高位多出的那24 ...

  9. Android音频格式转换,android音频文件转换格式

    //废话不多说直接上代码 //github地址 compile 'com.github.adrielcafe:AndroidAudioConverter:0.0.8' //需要在 Applicatio ...

最新文章

  1. /dev/sda2 is mounted; will not make a filesystem here!
  2. 多线程中的应用之队列(queue)
  3. 中秋假期快乐!不发技术文章,有三AI知识星球半价三天
  4. 使用 LLVM 实现一个简单编译器
  5. block的用法以及block和delegate的比较(转发)
  6. 第13讲nbsp;日期和时间nbsp;EXCEL2010…
  7. CNN图像分类Keras代码转换pytorch思路与实现
  8. 子进程中获取父进程id_进程全家桶,看这一篇就够了 | 原力计划
  9. 1013.clion配置快捷提示模板
  10. html在线预览显示pdf文件,pdf.js插件
  11. 关于存储pose时.dat类型的文件里面的type问题(细节)
  12. 星星之火-56:前传接口 CPRI容器的字长、能力与CPRI速率的对应关系
  13. windows安装yarn 详细教程
  14. 4个方法,教你1分钟查询你的手机注册了多少软件和网站
  15. 为什么计算机打不开优盘,U盘打不开,且8G的U盘只报64M,为什么?
  16. 怎么安装光盘并重新启动计算机,如何用光盘重新安装电脑系统
  17. 股票证券交易系统架构分析与设计
  18. 什么是网易企业邮箱客户端专有协议?
  19. 找不到msvcr120.dll
  20. 极客日报:腾讯《王者荣耀》禁止未满12周岁用户充值;B站发布16款新品游戏;华为注册姚安娜商标被驳回

热门文章

  1. 小程序iView Weapp实现一个倒计时
  2. 不属于jsp构成元素_JSP 页面中不能包含脚本元素。( )_学小易找答案
  3. 零Python编程基础,如何在10分钟内合并1000个Excel表格?
  4. Gstreamer错误
  5. Gstreamer 内存管理
  6. IDEA 更改背景图片+背景颜色 +自定义更改背景图片
  7. 微信服务号和订阅号的区别
  8. Trie (字典树,前缀树)
  9. 迪杰斯特拉c++模板
  10. clientX,screenX,pageX,offsetX的区别