浅尝Java(一)
主题:数据类型,数值类型变量相互转化
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类字符串的一些转换方法了。有兴趣详细了解的请看这篇博文,里面介绍的很清楚,希望能帮助到你。
最新文章
- 以向VS 程序打包集成自动写入注册表功能为例,介绍如何实现自由控制安装过程
- 常用Linux命令收集
- == 区别 equals
- iOS 清理缓存功能实现第一种方法
- iOS edgesForExtendedLayout、extendedLayoutIncludesOpaqueBars、automaticallyAdjustsScrollViewInsets属性详解
- Swift翻译之-关于Swift
- dp--poj1458最长公共子序列
- 《HTTP权威指南》笔记
- linux find 反转 查找没有被找到的结果
- python高级编程(第12章:优化学习)1
- 推动Common Lisp的实际应用
- JQuery UI的拖拽功能
- iOS开发之通过代码自定义一个控件
- hdu1005 Number Sequence---找循环节
- I/O模型系列之二:Unix的五种网络I/O模型
- Cannot read property 'properties' of undefined
- 初识python异步模块Trio
- Linux之find
- c#特性attribute:(二)
- 哈夫曼树;二叉树;二叉排序树(BST)