zoukankan      html  css  js  c++  java
  • 读书笔记:《Java2 教程》(三)

    Java数据类型

    第一部分,就已经提到了Java的基本数据类型。今天,我来把这方面的内容详细的归纳出来。

    第一个问题,什么是数据类型。这个问题,听上去很简单,可是,我想大部分人可能都没有仔细考虑过,恐怕也很难一下给出明确的回答。那么,究竟什么是数据类型呢?其实,概括的说,数据类型可以看做是标识和操作的集合。无论是什么样的数据类型,其实都是由一些抽象的标识来表示的,比如int ,又如 bollean;这里,int bollean本身是合法的标识符,但它们代表了整数和布尔这两种数据类型;同时,每种数据类型还对应着特定的操作。还是前面的例子,对于整形而言,它支持的操作有加减乘除等,而对于布尔型,它支持的操作就和整形不尽相同,例如,不能对布尔类型进行加减乘除的操作,而只能比较。所以,在学习数据类型这个部分的时候,可以从标识和操作两个方面来理解。这可以看做是一个普遍规律,就是很复杂的类型也是如此。

    接着,我们来看看Java的类型。概括而言,Java支持的数据类型可以分为两种:基本数据类型和结构数据类型。基本数据类型就是在第一部分中提到的,共有8种。而结构数据类型,则是指 Array (数组),class(类) interface(接口)等。结构数据类型是基本数据类型和/或(and/or)其它结构数据类型的组合。

    最后,在学习Java的时候,一定要把一个观念牢记心中:即:Java是强类型的语言。这句话的意思是,凡是使用到的变量,在编译之前一定要被显示的声明。

     

    下面,我们来详细介绍这些数据类型:

    数据类型

    长度

    取值范围

    操作

    典型用法

    byte

    8 bits

    -128127

     

    常用于I/O操作

    short

    16 bits

    -3276832767

     

     

    integer

    32 bits

    -21474836482147483647

     

     

    long

    64 bits

     不用写了吧?

     

     

    float

    32 bits

    3.4e-038 - 3.4e+038

     

    不太精确的浮点数值

    double

    64 bits

    1.7e-308 - 1.7e+308

     

    科学计算等

    char

    16 bits

    0-65535

     

    Unicode

    bollean

     

    true false

     

     

    array

     

     

     

    同一类型的一组数据的集合

    class

     

     

     

    将在后续部分详细说明

    interface

     

     

     

    将在后续部分详细说明

     

     

    说明:

    1 java中,上面列出的数据类型的长度不一定代表实际分配的内存的大小。如byte,长度是8,但是在运行的时候往往分配32bits的存储空间。

    2 java中的数字有关的类型都是有符号的。

    3 数据类型之间在一定的条件下是可以转换的。这种转换一般是从“小”的类型到“大”的类型,或者从基础类型到派生类型的转换。

    4 byteshort类型在进行计算之前,会被自动扩展到integer类型。

    5 在计算过程中,如果出现多种不同类型的数据参与计算,那么所有的“小”类型会被扩展到“大”类型来参与计算。如 在语句中同时有char  integer long型的数据,那么最终的计算结果是long型的。

    6 从“大”类型到“小”类型的转换是有风险的,需要用户明确指明,进行强制转换。其原因在于可能造成数据丢失。

     

     

    相关文章 
     

    读书笔记:《Java2 教程》(一)

    读书笔记:《Java2 教程》(

  • 相关阅读:
    ArcPad 10 的安装部署
    各种机械键盘轴的差别,究竟什么轴好
    default argument given of parameter 的问题
    Quartz中时间表达式的设置-----corn表达式
    图像切割之(一)概述
    SMTP协议分析
    Android学习小Demo(19)利用Loader来实时接收短信
    qml动画控制器AnimationController
    httpclient 文件上传
    Java习题10.24
  • 原文地址:https://www.cnblogs.com/A1240/p/164922.html
Copyright © 2011-2022 走看看