Java基本类型

Java基本类型:byte,short、int、long、float、double、boolean、char

Java 是一种强类型的语言。通俗点讲,在Java中村春的数据都是有类型的,而且必须在编译时就确定其类型。Java中有两累数据类型:一种是今天写的基本数据类型,另一种是引用数据类型(类,接口、数组)。

在Java中,基本数据类型变量存放的是数据本身,而引用类型变量存的是保存数据的空间地址,有点像C++中的指针。

a.关键点(时刻需要记住的)

     1、整型字面量默认为int型,浮点型字面量默认为double型

     2、布尔型boolean有且仅有两种取值:true或者false,不像C++中0为false,非0为真

     3、各种类型的长度固定,不像C++中各种类型的长度根据机器不同而不同。具体如下:

             

类型 长度(字节)
byte 1
short

2

int 4
long 8
float 4
double 8
char 2

        4、各种数的类型都是带符号的,即除了char,其余的每种类型都可以表示负数,不像C++中带符号和不带符号的为两种类型。

b.各种具体类型

      1.byte、short

               byte    -128-127; 

              short    -32768-32767

       

         byte a=23;//right,当把一个在byte范围之内的字面量赋给byte,不会出现错误
         byte b=456;//error,当把一个超出其范围的字面量赋给byte时,会出现错误,此时可以将其强制类型转换
         byte b=(byte)456;//right,强制类型转换
         byte c=2+a;//error,也许会在这比较奇怪,因为结果为25,没超出范围为什么会错呢?这是因为2为字面量int型,运算为int+byte,会转换成int+int,结果会得到一个int型,将一个int                              /                    //型赋给byte型会产生错误,因为int为4个字节,同样可以对其进行强制转换


        short与byte类似,只不过长度为2个字节

       2.int

               int为4个字节

       3.long

              long为8个字节

             

  long l=121212121212;//errror,将一个超出int范围的字面量赋给long型会出错,尽管没有超出long型的范围,但因为字面量默认为int型,所以错误是发生在将字面量默认为int的                                                  //过程中,解决方法是在字面量的后面加上“L”或者“l”,因为小写l很像数字1,所以建议使用L
  long a=121212121212L;//right

         4.lfloat

                float为4个字节,单精度浮点型

             

  float   f=3.3;//error,因为浮点字面量为double型,将一个double类型赋给float产生错误,解决方法是在字面量后面加上“F”或者“f”,又或者强制类型转换,但这将损失精度
  float   a=3.3F;//right
  float   b=(float)3.3;//right,但是损失类精度

       5.double

            double为8个字节,双精度,没什么好讲的

       6.boolean

             只能取两个值:true或者false

        7.char

             char为2个字节,无符号,所以范围为0—65535,学过C++的朋友知道C++中的char是一个字节,这是因为C++采取ASCII编码的原因,只对127个字符进行了编码,所以只需要一个字节,而Java为了包含很多国家的文字符号等等,采取了Unicode编码,包含了更多的字符,所以为2个字节。

       

     char a=2;//right,可以用在其范围内的字面量给其赋值
            char b='b';//right,单引号,一个字符
            char c='ax';//error
            char d=2+a;//error,结果为int型,赋给char型产生错误

总结:

       如果我们用IDE的话,很多错误编译器会提醒我们,但是我们还是需要记住一些基本特性。

你可能感兴趣的:(java基本类型)