主题:数据类型,数值类型变量相互转化

Java是强类型的语言,与JavaScript(松散型)在数据类型上有很大的差异(1.所有变量必须先申明,后使用;2.指定类型的变量只接受与之匹配类型的值)。这个看似很严格,但有他的好处,Java中每个数据的类型都是明确的,减少了我们编程中的错误。

Java类型的分类:基本类型、引用类型(这和JavaScript的分类是一样的)。基本类型:整数类型(byte,short,int,long),字符类型(char),浮点类型(float,double),布尔类型(boolean)。每次看到浮点类型的float就想到css中的float:left。额(⊙o⊙)… 引用类型:类,接口,数组类型,空类型(null)。

既然有这么多数值类型,那么开发中一定会涉及到类型间的转换。下面,来聊聊。(o゚▽゚)o

1.自动类型转换

Java中支持范围小的数值类型自动转换为范围大的类型的。如下所示范围大小,从左向右,范围越来越大。注意:系统不能把byte类型直接转换为char类型!

byte --> short -->   int --> long --> float --> double

char -->

例:int i = 2; float f = i; System.out.println(f);    //2.0

2.强制类型转换

强行将大类型转换为小类型。大类型小一点还好,大的话转换为小类型后就会出现溢出,导致数据丢失。

例:double d = 3.14; int i = (int)d; System.out.println(i);    //3

3.表达式类型自动提升

这种自动提示方式和第一种是一样的,只不过是在表达式中。

例:char c = 'c'; double d = 3.14; double result = c + d; System.out.println(result);    //102.14

但在实际工作中,我们往往要把String类创建的字符串进行相应的转换。这里就涉及到了String类字符串的一些转换方法了。有兴趣详细了解的请看这篇博文,里面介绍的很清楚,希望能帮助到你。

最新文章

  1. 以向VS 程序打包集成自动写入注册表功能为例,介绍如何实现自由控制安装过程
  2. 常用Linux命令收集
  3. == 区别 equals
  4. iOS 清理缓存功能实现第一种方法
  5. iOS edgesForExtendedLayout、extendedLayoutIncludesOpaqueBars、automaticallyAdjustsScrollViewInsets属性详解
  6. Swift翻译之-关于Swift
  7. dp--poj1458最长公共子序列
  8. 《HTTP权威指南》笔记
  9. linux find 反转 查找没有被找到的结果
  10. python高级编程(第12章:优化学习)1
  11. 推动Common Lisp的实际应用
  12. JQuery UI的拖拽功能
  13. iOS开发之通过代码自定义一个控件
  14. hdu1005 Number Sequence---找循环节
  15. I/O模型系列之二:Unix的五种网络I/O模型
  16. Cannot read property 'properties' of undefined
  17. 初识python异步模块Trio
  18. Linux之find
  19. c#特性attribute:(二)
  20. 哈夫曼树;二叉树;二叉排序树(BST)

热门文章

  1. 阿里云负载不支持 WebSocket 协议与 WSS 和 Nginx 配置问题
  2. Linux下升级Python到3.5.2版本
  3. StreamSets学习系列之StreamSets是什么?
  4. 【转】linux sar命令详解
  5. MySql主从同步和延迟同步
  6. 使用vertical-align实现垂直对齐
  7. Sql Server 开窗函数Over()的使用
  8. [日常] C语言中的字符数组和字符串
  9. 比较全git的.ignore文件配置
  10. chomd文件权限授予