<wbr></wbr>
感言:JAVA是一种强类型语言,JAVA的安全性和健状有部分来源与此,JAVA区分大小写。定义数据的时候可以有两种写法。
(先声明变量)double num11;
<wbr>(不预先定义,直接上,学名叫“<b>动态初始化</b>”)<b>float</b> num = (<b>float</b>)1.366622222222222222222222<wbr>2;</wbr></wbr>
也可以这样float num = 1.366622222222222222222222<wbr>2f;</wbr>
<wbr> num11 = 1.366622222222222222222222<wbr>22222222222222222222</wbr></wbr>
<wbr></wbr>
数据类型分基本类型和引用类型,基本类型无需NEW,只要声明就可以创建<wbr>int data = 10,基本类型的运行速度快,是因为基本类型创建的并不是一个引用的“自动”变量,这个变量直接存储“值”,并置于“堆栈”中(我在另一本关于虚拟机的书上看到的却是说存在“寄存器”中,无论是在哪,肯定都比引用类型要高效是肯定的),JAVA中基本类型的存储空间是固定不变的,见表。</wbr>
<wbr></wbr>
引用类型需要用NEW来开创一个空间 new string = "im new data",NEW将对象存于“堆”中
<wbr></wbr>
八大基本类型:
基本类型 | 最小值 | 大小 | 最大值 | 包装器类型 | 默认值 | |
boolena | - | - | - | Boolean | false | |
Char | Unicode 0 | 16-bit | Unicode 2(16次)-1 | Character | ‘\u0000’ | |
Byte | -128 | 8 bits | +127 | Byte | (byte)0 | |
Short | -2(15次) | 16 bits | +2(125次)-1 | Short | (short)0 | |
Int | -2(31次) | 32 bits | +2(31次)-1 | Integer | 0 | |
Long | -2(63次) | 64 bits | +2(63次)-1 | Long | 0L | |
Float | Ieee754 | 32 bits | Ieee754 | Float | 0.0f | |
Double | Ieee754 | 64 bits | Ieee754 | Double | 0.0d |
<wbr><wbr></wbr></wbr>
基本类型为什么要有包装类型,因为包装类可以在堆中创建一个非基本对象,用来表示对应的基本类型。如下:
char c = 'x';
Character ch = new Character();
也可以这样
Character ch = new Character('x');
1.5以上的自动拆装箱功能可以直接:Character ch = 's';并可以反向转换 char c = ch;
<wbr></wbr>
<wbr></wbr>
在实际的使用中,基本类型和包装因型有什么用呢?我一直想不太明白,后来总结了一下,大致归于下:
比如(int,Integer)
int 是基本类型。
Integer是引用类型。。
比如int a= 5;
Integer b = 5
对于a你只能用来做计算。。比如加减乘除。。
b你可以用来做很多事情,因为他是一个对象,他有很多方法,你可以像使用String对象那样使用它。
<wbr> int<wbr><wbr> 一般做为数值参数就够了<wbr><wbr><br style="Line-HeiGHT: 22px"><wbr> integer<wbr><wbr> 一般做类型转换的时候用的较</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr></wbr>
基本类型和引用类型的区别还于作用域
{
int = 10;
}
变量的作用域只可用于域结束之前
<wbr></wbr>
{
String s = new String("aaa");
}
引用S在作用域终点就消失了,然而,S指向的的string对象仍继续占据内存空间。由NEW创建的对象,会一直存在下去,当然了,有垃圾回收器在监视的它,有必要的时候会把它删除。
1整型
(字节型,宽度8)Byte,(短整型,宽度16)short,(整型,宽度32)int,(长整型,宽度64)long
细节:
1.<wbr><wbr><wbr><wbr> 只要整数表达式包含byte,short,int.整个表达式会被提升为int类型</wbr></wbr></wbr></wbr>
2.<wbr><wbr><wbr><wbr> 类型决定行为,决定系统怎么去处理它,而不是大小。</wbr></wbr></wbr></wbr>
<wbr></wbr>
<wbr></wbr>
2浮点
(单精度,位宽32)Float(最多显示小数点后7位),(双精度,位宽64)double(最多显示小数点后16位),
<wbr></wbr>
他们其实差不多,都可以表示小数但有一定区别
1.<wbr><wbr><wbr><wbr> FLOAT的占用空间只有DOUBLE的一半,当值很大或很小时,会变的不精确。</wbr></wbr></wbr></wbr>
2.<wbr><wbr><wbr><wbr> 超越函数,如SIN(),COS()等,返回都是DOUBLE</wbr></wbr></wbr></wbr>
<wbr></wbr>
3字符
在JAVA中,CHAR是用来存储字符数据的。用Unicode来表示字符。
<wbr></wbr>
CHAR和String的区别:
原始数据类型(也称基本数据类型)(primitive data type):byte,short, char, int, long,float,double,boolean. 一共8种
对象(也称引用类型)(Object):8中除外的都是对象,包括数组。
<wbr></wbr>
显然char属于基本数据类型(即原始数据类型),string属于对象
<wbr></wbr>
4布尔型
BOOLEAN的值只有真假。它有一个特点,它可以控制条件表达式。也就是说可以写成IF(true)
感言:JAVA是一种强类型语言,JAVA的安全性和健状有部分来源与此,JAVA区分大小写。定义数据的时候可以有两种写法。
(先声明变量)double num11;
<wbr>(不预先定义,直接上,学名叫“<b>动态初始化</b>”)<b>float</b> num = (<b>float</b>)1.366622222222222222222222<wbr>2;</wbr></wbr>
也可以这样float num = 1.366622222222222222222222<wbr>2f;</wbr>
<wbr> num11 = 1.366622222222222222222222<wbr>22222222222222222222</wbr></wbr>
<wbr></wbr>
<wbr></wbr>
5.变量
变量可以预先声明,如:
int a,b;
也可以
int a =1,b=3;
<wbr></wbr>
<wbr></wbr>
也可以在程序中需要使用的时候进行动态声明,从程序性能上来说,后期动态声明更符合优化的目标。
<wbr></wbr>
变量声明可以使用常量,当然也可以使用表达式。如 double a = Math.sqrt(a*a+b*b);
<wbr></wbr>
<wbr></wbr>
6.数组
<wbr></wbr>
一:数组可以看成是多个相同类型的数据集合
二:数组变量属于引用类型,数组也可以看成是对象,数组中的每一个元素相当于该对象的成员变量
三: 数组中的元素可以是任何数据类型,包括基本类型和引用类型。(除了基本类型以外,其它的全是引用类型)
<wbr></wbr>
建立一个数组 new type var[]