Java数据类型小结
来源:互联网 发布:网络诈骗支付宝转账 编辑:程序博客网 时间:2024/06/06 17:29
一、数据类型的分类
Java中数据类型总体可以分为两类:
1、基本数据类型:byte、short、int、long、float、double、char和boolean。
2、引用数据类型:String 、数组等。
而基本数据类型又可以按不同的格式再次进行分类,字符型:char;数值型:byte、short、int、long、float、double;布尔型:boolean;
数值型的又可以分为,整型:byte、short、int、long;浮点型:loat、double。
二、基本数据类型的转换
由于每种数据类型所占的内存空间不同,所以他们的取值范围也不同,
byte、boolean:一个字节,八位
short、char:两个字节,十六位
int、float:四个字节、三十二位
long、double:八个字节、六十四位
Java中除了boolean数据类型外,其余类型的数据是可以混合在一起运算的。例如“10 + ‘a’+ 1.5 - 5.123 * ‘b’”是合法的。不过在运算的时候,如果某个运算符两侧的类型不同,就必须转换为相同的类型,然后才能运算。
转换的基本原则:范围小的转换为范围大的,精度小的转换为精度大的。
byte→short,char→int→long→float→double
short与char相互转换都需要强转。
由于Java的字面量(默认定义类型)为int类型,所以我们在进行计算的时候,如果定义了比int类型小的类型(short,char)进行运算时,Java会转换为int类型,计算后把值重新赋值到你定义的变量中,这样就会照成类型不匹配。
例如:Java中的 ++ 运算:
++运算代表自增运算,那么我定义一个变量让他实现++ 运算应该和让他自己等于他自己+1,例如:(int a = 1; a ++ ) 这里a++ 应该等同于 a = a + 1;
但是如果a是short或者byte类型的,例如:(short a = 1; a++)这里如果改成 a = a + 1,那么编译器会报错,因为Java默认1 是int 型的,所以进行计算时 会先把a转为int类型进行计算,得到的结果也为int型 而定义的a为short,所以报错。 我们需要强转。而a++ 不会报错是因为
a++ 进行的操作是:a = (a的类型)(a + 1)即:a++ 等同于 a = (a的类型)(a + 1) 。
还有一个关于基本数据类型的细节:
我们都知道 “=”在Java中的含义是赋值“==”才是比较
现在有两个基本数据类型,a 和 b 我想比较 a与b是否相等 ,那么我用
a = b 是否可以?
答案是可以的, 因为如果我的 a和b 均为boolean 类型,那么我用“=”就是直接比较a与b的值是否相同。
- Java基础数据类型小结
- Java数据类型小结
- java语法基本数据类型小结
- java的基本数据类型小结
- 小结-JAVA中的复合数据类型
- (java)java语言中的数据类型小结
- 数据类型转换与处理小结(java)-part1
- JAVA 数据类型和多种运算符小结
- Java数据类型和集合的小结
- 黑马程序员——java基础学习(数据类型小结)
- 黑马程序员-Java数据类型和运算符小结
- Java-阶段小结笔记(一)--循环及数据类型
- C++数据类型转换小结
- C#数据类型小结
- ORCLA数据类型小结
- VC++数据类型转换小结
- 数据类型知识小结
- 指针数据类型小结
- HDOJ 4004 The Frog's Games
- C#预处理指令
- android中的spinner
- android ListView 记录当前位置 恢复
- hdu 2089 不要62 数位dp
- Java数据类型小结
- [SCU4442] Party [2015 Sichuan Province Contest Final G]
- 自动释放池什么时候创建,什么时候销毁?
- js注意事项12
- 【NBUTOJ】-1651-Red packet(二分)
- JDBC连接数据库
- 【9003】繁忙的都市
- 写模态对话框的问题:运用this.index 为元素添加事件
- 网络流-Dinic算法详解与模板