算法(02):数据类型

来源:互联网 发布:初中生学编程 编辑:程序博客网 时间:2024/06/15 07:20

  对于特定问题的求解,必须选择合适的算法,可是选择合适的数据结构实现算法所需要做的唯一的主要决定:一旦作出选择,需要的算法就简单了。不同的数据结构所需要的空间不一样,不同的数据结构也会导致算法效率的不同。因此,数据结构和算法密切相关。

  在进一步讨论的数据结构之前,我们先看一下在java中的基本数据类型。

  • 布尔型(boolean)
  • 字符(char)
  • 8位整数(byte)
  • 16位整数(short)
  • 32位整数(int)
  • 64位整数(long)
  • 32位浮点数(float)
  • 64位浮点数(double)

  我们最常使用的是int和double数据类型。而且我们把值介于-32768和32768之间的对象表示成short类型,而不是把它表示成16位对象。平时我们所谈的整数的概念也包括对它们施行的操作:+ - * / 等等。

  数据类型:是值集合和对那些值进行的一套操作。

  另外,我们还经常定义我们自己的数据类型,作为组织我们应用程序的手段。

  在java中,我们一个简单的类——值集合和相关操作(方法)的列表,就创造了一个新的数据类型。更广泛的说,我们在java中,创建的任何一个类,甚至是整个java程序,都可以看作是一个数据类型。

  我们看一下我们自己定义的一个简单的数据类型:Point ,代表几何中的一个点。

 

class Point{
 
double x,y;
 Point()
  
{x=Math.random();y=Math.random();}
 Point(
double x,double y)
  
{this.x=x;this.y=y;}
 
double r()
  
{return Math.sqrt(x*x+y*y);}
 
double distance(Point p)
  
{double dx=x-p.x,dy=y-p.y;
   
return Math.sqrt(dx*dx+dy*dy);}

 
public String toString()
  
{return "("+x+","+y+")";}
}


 

  我们可以看到每个类都由数据域和方法构成,数据域定义数据类型值的集合,方法是在数据上的操作。