java是一种强类型的语言,所谓强类型,意味着每个变量都要有确定的类型,每个表达式也要有明确的类型,包括传递的某些参数。java中从大的方面分有两大数据类型,分别是基本数据类型和引用数据类型,基本数据类型是java中规定的八种,引用数据类型则是除此八种以外的所有类型,一般都是在程序中根据需要自定义的。
    基本数据类型包括整形int、字节形byte、短整型short、长整型long、字符型char、浮点型float、双精度小数型double和布尔型boolean,至于这些类型所对应的单词,就是java这样规定的,一个代号而已,只要记住就好了,就像当初把人叫人,而把猪叫猪一样,如果当初反过来,那么现在也就是个代号不一样罢了,人的本质并不会改变。
    整型,顾名思义就是整数型,所有的正负整数以及零,但是实际上不是这样的,整型只是整数类型里边最常用的一种,字节型、短整型、长整型也都是整数型,这四种之所以叫法不同,是因为他们的存储范围大小不一样,所占的字节数不同。从byte、short到int、long,分别占用1、2、4、8个字节,在计算机中就是8、16、32、64位,因为在计算机内部存储是完全的0和1,每一位就是一个0或者1,每八个0和1的组合就是一个字节。这四个类型的存储范围通常需要记住的是,byte是-128到127的数,int是最常用的,能存储负二十多亿到正二十多亿的整数,而long几乎可以存储我们通常能用到足够大的数字。
    数字经常和运算打交道,“+、-、*、/”这些符号也就需要存储,常用的就是用字符型char存储,但是char也可以用来存储一些特殊的汉字。它占2个字节。
    数字中除了整数,另外的就是小数或者称作浮点数,java中就是float和double型,我们常用的是double,占8个字节,float占4个字节。
    最后一种基本类型是布尔型boolean,它只有两个值,true和false,对或错,是或否,真或假。
    基本数据类型都是可以直接声明的,不用new。同时,有一种特殊的引用类型String,即字符串型,它因为非常常用的缘故,也可以像基本数据类型一样直接声明而不用new。
    在任何时候,整数表达式包含的byte、short在进行运算之前,类型都被提升成整型再计算。