Posted on 2011-07-17 23:16
セ军魂ミ 阅读(1871)
评论(0) 编辑 收藏 所属分类:
Java核心语法
java数据类型:是一种强类型语言,第一次申明变量必须说明数据类型,第一次变量赋值称为变量的初始化。
种类:8种基本类型(原生类型):整型:byte 字节型 1Byte=8bit 256中状态 -128~+127
short 短整型 2Byte=16bit 64436 -32768~32767
int 整型 4Btye=32bit 2^32 -2147483648~+2147483647
2^31=2^10*2^10*2^10*2
大约在正负21亿之间的数 k k k 2 =2G
long 长整型 8Byte=64bit -2^63~2^63-1
char 字符型 2Byte=16bit 0~65535
1+2+'a'+1+2等价于1+2+97+1+2
浮点型/实型:float 单精度 4Byte=32bit 实际是3+1(1个位权)f1=5.0F或f
double 双精度 8Byte=64bit 实际是6+2(2个位权)
布尔类型: boolean
注意:浮点型数据时非精度存储,整型数据为精确存储。而数据类型的字面值有默认值:整型为int,实型:为double
double和BigDecimal的区别:double,适合做科学运算
BigDecimal,适合用商业运算
BigDecimal b1 = new BigDecimal("5.0");
BigDecimal b2 = new BigDecimal("3.1");
b1.subtract(b2); 减
b1.divide(b2,4); 除
BigInteger 是用于大数据的。。比如求9的99此方
5种引用类型(对象类型):类 接口 数组 枚举 标注
空类型:void类型
数据类型的转换:只有boolean不参与数据类型的转换
(1).自动类型的转换:a.常数在表数范围内是能够自动类型转换的
b.数据范围小的能够自动数据类型大的转换(注意特例)
int到float,long到float,long到double 是不会自动转换的,不然将会丢失精度
c.引用类型能够自动转换为父类的
d.基本类型和它们包装类型是能够互相转换的
(2).强制类型转换:用圆括号括起来目标类型,置于变量前
8中基本类型的包装类:Byte Short Integer Long Character Float Double Boolean
基本类型的优势:数据存储相对简单,运算效率比较高
包装类的优势:有的容易,比如集合的元素必须是对象类型,满足了java一切皆是对象的思想
引用类型:底层结构和基本类型差别较大
首先介绍下JVM的内存空间:(1). Heap 堆空间:分配对象 new Student()
(2). Stack 栈空间:临时变量 Student stu
(3).Code 代码区 :类的定义,静态资源 Student.class
eg:Student stu = new Student();
stu.study();
//new 在内存的堆空间创建对象
//把对象的地址赋给stu引用变量
上例实现步骤:a.JVM加载Student.class 到Code区
b.new Student()在堆空间分配空间并创建一个Student实例
c.将此实例的地址赋值给引用stu, 栈空间
以上就我在数据类型中所认为比较重要的内容,希望能给一些人带来帮助,若有人还有更多重要的知识,请提出,大家一起分享、学习哦!谢谢