zoukankan      html  css  js  c++  java
  • 数据类型、变量、数组类

     

    感言:JAVA是一种强类型语言,JAVA的安全性和健状有部分来源与此,JAVA区分大小写。定义数据的时候可以有两种写法。

    (先声明变量)double num11;

     (不预先定义,直接上,学名叫“动态初始化”)float num = (float)1.3666222222222222222222222;

    也可以这样float num = 1.3666222222222222222222222f;

      num11 = 1.36662222222222222222222222222222222222222222

     

    数据类型分基本类型和引用类型,基本类型无需NEW,只要声明就可以创建 int data = 10,基本类型的运行速度快,是因为基本类型创建的并不是一个引用的“自动”变量,这个变量直接存储“值”,并置于“堆栈”中(我在另一本关于虚拟机的书上看到的却是说存在“寄存器”中,无论是在哪,肯定都比引用类型要高效是肯定的),JAVA中基本类型的存储空间是固定不变的,见表。

     

    引用类型需要用NEW来开创一个空间 new string = "im new data",NEW将对象存于“堆”中

     

    八大基本类型:

    基本类型

    最小值

    大小

    最大值

    包装器类型

    默认值

    boolena

    -

    -

    Boolean

    false

    Char

    Unicode 0

    16-bit

    Unicode 2(16次)-1

    Character

    ‘\u0000’

    Byte

    -128

    8 bits

    +127

    Byte

    (byte)0

    Short

    -2(15次)

    16 bits

    +2(125次)-1

    Short

    (short)0

    Int

    -2(31次)

    32 bits

    +2(31次)-1

    Integer

    0

    Long

    -2(63次)

    64 bits

    +2(63次)-1

    Long

    0L

    Float

    Ieee754

    32 bits

    Ieee754

    Float

    0.0f

    Double

    Ieee754

    64 bits

    Ieee754

    Double

    0.0d

      

    基本类型为什么要有包装类型,因为包装类可以在堆中创建一个非基本对象,用来表示对应的基本类型。如下:

    char c = 'x';

    Character ch = new Character();

    也可以这样

    Character ch = new Character('x');

    1.5以上的自动拆装箱功能可以直接:Character ch = 's';并可以反向转换  char c = ch;

     

     

    在实际的使用中,基本类型和包装因型有什么用呢?我一直想不太明白,后来总结了一下,大致归于下:

    比如(int,Integer)
    
    int 是基本类型。

    Integer是引用类型。。

    比如int a= 5;
    Integer b = 5

    对于a你只能用来做计算。。比如加减乘除。。

    b你可以用来做很多事情,因为他是一个对象,他有很多方法,你可以像使用String对象那样使用它。

      int   一般做为数值参数就够了  
      integer   一般做类型转换的时候用的较

     

    基本类型和引用类型的区别还于作用域

    {

    int = 10;

    }
    变量的作用域只可用于域结束之前

     

    {

    String s = new String("aaa");

    }

    引用S在作用域终点就消失了,然而,S指向的的string对象仍继续占据内存空间。由NEW创建的对象,会一直存在下去,当然了,有垃圾回收器在监视的它,有必要的时候会把它删除。

    1整型

    (字节型,宽度8)Byte,(短整型,宽度16)short,(整型,宽度32)int,(长整型,宽度64)long

    细节:

    1.     只要整数表达式包含byte,short,int.整个表达式会被提升为int类型

    2.     类型决定行为,决定系统怎么去处理它,而不是大小。

     

     

    2浮点

    (单精度,位宽32)Float(最多显示小数点后7位),(双精度,位宽64)double(最多显示小数点后16位),

     

    他们其实差不多,都可以表示小数但有一定区别

    1.     FLOAT的占用空间只有DOUBLE的一半,当值很大或很小时,会变的不精确。

    2.     超越函数,如SIN(),COS()等,返回都是DOUBLE

     

    3字符

    在JAVA中,CHAR是用来存储字符数据的。用Unicode来表示字符。

     

    CHAR和String的区别:

    原始数据类型(也称基本数据类型)(primitive data type):byte,short, char, int, long,float,double,boolean. 一共8种

    对象(也称引用类型)(Object):8中除外的都是对象,包括数组。

     

    显然char属于基本数据类型(即原始数据类型),string属于对象

     

    4布尔型

    BOOLEAN的值只有真假。它有一个特点,它可以控制条件表达式。也就是说可以写成IF(true)

    感言:JAVA是一种强类型语言,JAVA的安全性和健状有部分来源与此,JAVA区分大小写。定义数据的时候可以有两种写法。

    (先声明变量)double num11;

     (不预先定义,直接上,学名叫“动态初始化”)float num = (float)1.3666222222222222222222222;

    也可以这样float num = 1.3666222222222222222222222f;

      num11 = 1.36662222222222222222222222222222222222222222

     

     

    5.变量

    变量可以预先声明,如:

    int a,b;

    也可以

    int a =1,b=3;

     

     

    也可以在程序中需要使用的时候进行动态声明,从程序性能上来说,后期动态声明更符合优化的目标。

     

    变量声明可以使用常量,当然也可以使用表达式。如 double a = Math.sqrt(a*a+b*b);

     

     

    6.数组

     

    一:数组可以看成是多个相同类型的数据集合

    二:数组变量属于引用类型,数组也可以看成是对象,数组中的每一个元素相当于该对象的成员变量

    三: 数组中的元素可以是任何数据类型,包括基本类型和引用类型。(除了基本类型以外,其它的全是引用类型)

     

    建立一个数组 new type var[]

  • 相关阅读:
    IOS 作业项目(1) 关灯游戏 (百行代码搞定)
    Object-C 基础笔记5---Category
    Object -c基础知识(5)--release 之后 retainCount为何为1
    Foundation--NSString , array and Dictionary
    Foundation--结构体
    Object-C 基础笔记4---ARC内存管理
    141. Linked List Cycle
    139. Word Break
    138. Copy List with Random Pointer
    133. Clone Graph
  • 原文地址:https://www.cnblogs.com/xiaowangba/p/6314419.html
Copyright © 2011-2022 走看看