java学习之数据类型
来源:互联网 发布:淘宝定位跳转代码 编辑:程序博客网 时间:2024/04/28 08:34
一数据类型的划分
Java中的数据类型有如下几种.
其中基础数据类型共有4类8种。
1逻辑型-boolean。Java中的逻辑类型与c语言中的逻辑类型有些差异。不能用0或者非0的数字代表ture或者false.
2文本型-char。Java中的string并非基本数据类型,而是一个对象。Char则是真正意义上的基本数据类型。需要注意的是’a’与”a”是两个完全不同的概念。”a”代表一个字符串。’a’代表一个字符。进一步说就是单引号引的数据是char类型的,双引号引的数据是string类型的。
整数型-byte,short,int,long。需要注意的是java语言的整型常量默认为int型号,声明long类型后可以加”l”,否则就会出错。例如long l1 = 88888888888L如果没有l就会出错。
3浮点数型-float,double 需要注意的是浮点常量默认为double型。
二基本数据类型转换
整形,字符型和浮点型在混合运算中经常相互转换,转换时遵循以下原则。
1容量小的自动转换成为容量大的数据。类型数据类型大小关系如下
Byte,short,char小于int小于long小于float小于double
Byte,short,char不会相互转换,他们在计算时首先转换成int类型
2容量大的数据类型转换成容量小的数据类型时要加上强制转换符。
3混合计算时自动转成所有类型中最大的,然后计算
具体实例如下
Float f1 = o.1 是错误的,因为o.1被自动转换成为double类型,double类型比float大,因此出错。
long l2 = 888888888888 是错误的,因为代码中的整形数据自动转换成为int,int无法承载那么大,需要强制类型转换
int i= 1 i=i*0.1 是错误的。因为混合计算时自动转换成double类型,double类型无法装入int
byte b1 =1,b2 =2,b = b1-b2 是错误的。因为byte,short,char在计算时首先转换成为int,int无法装入byte
总结:
数据类型转换实质上就是给大象分配宿舍的问题。把右边的大象分配到左边鲸鱼的房间里没有问题,因为能撑得下。但如果把右边的大象分配到左边狮子的房间里就要出问题了,因为根本装不下。还有一点就是似乎byte,short,char只有在计算时才需要考虑到这点,如果不计算无需担心是否撑得下。因为byte b =23这种写法中,如果按照马士兵所讲整形自动转换成int,那么23就应该是int型,无法装入b.但实际中这种写法是没有问题的。
三数据存储区域
大致来说java内存分这么几个区域,大致马士兵老师的图
如果是基础数据类型存放在栈区,如果是对象类型存放在堆区。例如char s1 =’d’
String s3 = new string(“sfdsfs”)或者 string s4= “sdfds”那么s3和s4存放在堆区,s1存放在栈区。
四基础数据包装类
1基础数据类型的对应关系
byte
Byte
boolean
Boolean
short
Short
char
Character
int
Integer
long
Long
float
Float
double
Double
2装箱和拆箱在jdk1.5之后出现了拆箱和装箱。那么什么是装箱和拆箱呢。
所谓装箱就是指的是把基本类型和引用类型包装起来使其具有对象的性质。拆箱是则与装箱相反。详细内容看下回分解。
- java学习之数据类型
- java学习之数据类型
- Java学习之数据类型
- JAVA学习笔记之数据类型
- java基础学习之数据类型
- JAVA学习笔记之数据类型
- Java学习笔记之数据类型
- Java学习——数据类型之基本数据类型
- Java学习——数据类型之引用数据类型
- 1 Java学习之 基本数据类型
- Java学习总结之数据类型转换
- Java学习篇之---基本数据类型
- JAVA之学习笔记(7)-------------数据类型
- Java学习笔记之基本数据类型
- JAVA学习之数据类型的使用
- JAVA学习笔记二之(4)数据类型
- java学习之三(数据类型)
- Java 每天学习一点点之数据类型
- 活动选择问题(贪心)
- 高性能定时器时间轮的实现
- SuSE的命令安装软件 zypper,yast2
- Maven实战学习笔记(仓库)
- Android View事件分发机制
- java学习之数据类型
- html画布实现一个时钟应用
- TI BLE研究---- 蓝牙协议栈(GAP)
- __attribute__((packed))的作用
- ZOJ-1170
- phpcms的一些知识
- Tomcat基本配置与属性说明
- HDU 3480 Division
- poj3150 && LA3704 Cellular Automaton 矩阵乘法 + 循环矩阵性质