Java的数据类型及数据类型转换

Posted benon94

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java的数据类型及数据类型转换相关的知识,希望对你有一定的参考价值。

要了解数据类型,需要先知道什么是变量?

变量:就是在程序的执行过程中,其值是可以在一定的范围内发生改变的量。

   也就是说,当创建变量的时候,需要先在内存中申请空间,变量的值就存储在这个空间中。

变量的组成规则:数据类型  变量名  =  初始化值;

  1.必须对其进行限定。

   如何限定呢?使用变量类型。

  2.在运行的时候,不可能拿这个空间去运算,而是使用空间中的值。

   因此,要给空间起一个名字,就是变量名。

  3.初始化值。

   定义变量的时候,一定要有一个初始化值,否则是无效定义。

--------------------------------------------------------------------------------------------------------------------------------------

Java语言是强类型语言,对每一种数据都定义了明确的数据类型。

这样,内存管理系统才能根据变量的类型为变量分配存储空间。

技术图片

 

 各类型占用字节数如下:

  byte:1  short:2  int:4  long:8  

  float:4  double:8

  cha:2

  boolean:1

* 整数默认是int类型,浮点数默认是double类型。

数据类型转换:

  1.布尔类型不能转换为其他的数据类型;

  2.默认转换规则:

    byte,short,char--->int--->long--->float--->double

    byte,short,char相互之间不转换,他们参与运算的时候会首先转换为int类型。

    举例:以下两种定义是相同的吗?有没有问题?

      short s = 1; s = s + 1;

      short s = 1;s += 1;

     分析:第一种定义是错误的,因为s在作运算的时候会自动转换为int类型,运算结果也会为int类型,不能再赋值给short类型。

        第二种定义是,因为这种赋值运算符隐含了一个强制类型转换,会将s+1的结果强制转换为short类型。

   3.强制转换:

    目标类型 变量名 = (目标类型)(被转换的数据);

    举例:以下两个赋值有没有区别?

      float f1 = (float)12.345;

      float f2 = 12.345F;

      分析:f1是将一个double类型的值强制转换为float类型,这样会进行截取,而f2本身定义就是一个float类型。

         故第二种方法更好。

以上是关于Java的数据类型及数据类型转换的主要内容,如果未能解决你的问题,请参考以下文章

java基础-基本数据类型扩展及类型转换

Java的数据类型及数据类型转换

Java 语法篇Java 变量八种基本数据类型及转换详解

JAVA基本类型及转换

java中类型转化及例题

java数据类型及转换规则