float 单精度【4个字节】
double 双精度【8个字节,精度较高】
double的精度太低【相对来说的】,不适合做财务软件。财务涉及到钱的问题,要求精度高,所以SUN在基础数据SB类库当中为程序员准备了精确度更高的类型,只不过这种类型是一种引用数据类型,不属于基本数据类型,它是:java.math.BigDecimal
其实java程序中SUB提供了一套庞大的类库,java程序员是基于这套基础的类库来进行开发的
所以要知道java的SE类库的字节码在哪儿,要知道java的SE类库的源码在哪儿?
*SE类库字节码:C:\Program Files (x86)\Java\jdk.7.0-75\jre\lib\rt.jat
*SE类库源码:C:\Program Files (x86)\Java\jdk1.7.0-75\src.zip
例如:String.java和String.class
我们的(Syring【】 args)中的String使用的就是string.class字节码文件
在java语言当中,所有的浮点型字面值【3.0】,默认被当做double类型处理,要想该字面值当做float类型来处理,需要字面值后面添加F\f
{
public static void main (String【】 arge){
//3.0是double类型字面值
//d是double类型的变量
//不存在类型转换
double d = 3.0;
System.out.println(d);
}
}
关于布尔型数据类型:
boolean
在java语言当中boolean类型只有两个值:true,false,没有其他值。
不像c语言当中,0和1可以表示假和真。
在底层储存的时候boolean类型占用1个字节,因为实际储存的时候false底层是0,
true底层是1。
布尔类型在实际开发当中非常重要,经常使用在逻辑运算和条件控制语句当中。
public class DataTypeTes07
{
public static void main(String【】 args){
//编译错误:不兼容的类型
//boolean loginSuccess=1;
//boolean loginSuccess=false;
boolean loginSuccess=true;
//if语句以后讲【条件控制语句】
if(ioginSuccess){
System.out.println("恭喜你,登录成功“”);
} else{
System,out,println(“对不起,用户名不存在或者密码错误!”);
}
}
}