码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2019-10-07 00:49:06      阅读:101      评论:0      收藏:0      [点我收藏+]

标签:改变   自动   存储   如何   变量类型   规则   否则   也会   str   

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

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

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

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

  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的数据类型及数据类型转换

标签:改变   自动   存储   如何   变量类型   规则   否则   也会   str   

原文地址:https://www.cnblogs.com/benon94/p/11629087.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!